Top Description Inners Fields Constructors Methods
org.glassfish.grizzly.ssl

public final Class SSLUtils

extends Object
Class Inheritance
Imports
java.nio.ByteBuffer, javax.net.ssl.SSLEngine, .SSLEngineResult, .SSLEngineResult.HandshakeStatus, .SSLException, org.glassfish.grizzly.Buffer, .Connection, .Grizzly, .ThreadCache, .ThreadCache.CachedTypeIndex, org.glassfish.grizzly.attributes.Attribute, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.memory.Buffers, .ByteBufferWrapper, .CompositeBuffer, .MemoryManager, org.glassfish.grizzly.ssl.SSLConnectionContext.Allocator, .SSLConnectionContext.SslResult

Utility class, which implements the set of useful SSL related operations.
Author
Alexey Stashok

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private static final boolean
ANDROID_WORKAROUND_NEEDED

Workaround for Android 5 (GRIZZLY-1783)

private static final byte
private static final byte
private static final SSLConnectionContext.Allocator
private static final SSLConnectionContext.Allocator
private static final int
private static final int
private static final int
private static final int
private static final String
pack-priv static final Attribute<SSLConnectionContext>
private static final ThreadCache.CachedTypeIndex<Buffer>
private static final int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static Buffer
pack-priv static Buffer
allocateOutputBuffer(final int size)

public static Buffer
allowDispose(final Buffer buffer)

pack-priv static Buffer
copy(final MemoryManager<E extends Buffer> memoryManager, final Buffer buffer)

public static void
executeDelegatedTask(final SSLEngine
The SSLEngine used to manage the SSL operations.
sslEngine
)

Complete handshakes operations.

public static SSLConnectionContext
getSslConnectionContext(final Connection<L> connection)

public static SSLEngine
getSSLEngine(final Connection<L> connection)

public static int
public static SSLEngineResult
handshakeUnwrap(final int length, final SSLConnectionContext sslCtx, final Buffer inputBuffer, final Buffer tmpOutputBuffer)

public static Buffer
handshakeWrap(final Connection<L> connection, final SSLConnectionContext sslCtx, final Buffer netBuffer)

public static boolean
isHandshaking(final SSLEngine sslEngine)

pack-priv static Buffer
makeInputRemainder(final SSLConnectionContext sslCtx, final FilterChainContext context, final Buffer buffer)

pack-priv static Buffer
move(final MemoryManager<E extends Buffer> memoryManager, final Buffer buffer)

public static void
setSSLEngine(final Connection<L> connection, final SSLEngine sslEngine)

pack-priv static SSLEngineResult
sslEngineUnwrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer out)

pack-priv static SSLEngineResult
sslEngineUnwrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer[] out, final int outOffs, final int outLen)

pack-priv static SSLEngineResult
sslEngineWrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer out)

pack-priv static SSLEngineResult
sslEngineWrap(final SSLEngine engine, final ByteBuffer[] in, final int inOffs, final int inLen, final ByteBuffer out)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ANDROID_WORKAROUND_NEEDEDback to summary
private static final boolean ANDROID_WORKAROUND_NEEDED

Workaround for Android 5 (GRIZZLY-1783)

APPLICATION_DATA_CONTENT_TYPEback to summary
private static final byte APPLICATION_DATA_CONTENT_TYPE
CHANGE_CIPHER_SPECT_CONTENT_TYPEback to summary
private static final byte CHANGE_CIPHER_SPECT_CONTENT_TYPE
HS_UNWRAP_ALLOCATORback to summary
private static final SSLConnectionContext.Allocator HS_UNWRAP_ALLOCATOR
HS_WRAP_ALLOCATORback to summary
private static final SSLConnectionContext.Allocator HS_WRAP_ALLOCATOR
LOLLIPOP_VERback to summary
private static final int LOLLIPOP_VER
MAX_MAJOR_VERSIONback to summary
private static final int MAX_MAJOR_VERSION
MIN_VERSIONback to summary
private static final int MIN_VERSION
SSL20_HELLO_VERSIONback to summary
private static final int SSL20_HELLO_VERSION
SSL_CONNECTION_CTX_ATTR_NAMEback to summary
private static final String SSL_CONNECTION_CTX_ATTR_NAME
SSL_CTX_ATTRback to summary
pack-priv static final Attribute<SSLConnectionContext> SSL_CTX_ATTR
SSL_OUTPUT_BUFFER_IDXback to summary
private static final ThreadCache.CachedTypeIndex<Buffer> SSL_OUTPUT_BUFFER_IDX
SSLV3_RECORD_HEADER_SIZEback to summary
private static final int SSLV3_RECORD_HEADER_SIZE

Constructor Detail

SSLUtilsback to summary
public SSLUtils()

Method Detail

allocateInputBufferback to summary
public static Buffer allocateInputBuffer(final SSLConnectionContext sslCtx)
allocateOutputBufferback to summary
pack-priv static Buffer allocateOutputBuffer(final int size)
allowDisposeback to summary
public static Buffer allowDispose(final Buffer buffer)
copyback to summary
pack-priv static Buffer copy(final MemoryManager<E extends Buffer> memoryManager, final Buffer buffer)
executeDelegatedTaskback to summary
public static void executeDelegatedTask(final SSLEngine sslEngine)

Complete handshakes operations.

Parameters
sslEngine:SSLEngine

The SSLEngine used to manage the SSL operations.

getSslConnectionContextback to summary
public static SSLConnectionContext getSslConnectionContext(final Connection<L> connection)
getSSLEngineback to summary
public static SSLEngine getSSLEngine(final Connection<L> connection)
getSSLPacketSizeback to summary
public static int getSSLPacketSize(final Buffer buf) throws SSLException
Annotations
@SuppressWarnings:UnnecessaryLocalVariable
handshakeUnwrapback to summary
public static SSLEngineResult handshakeUnwrap(final int length, final SSLConnectionContext sslCtx, final Buffer inputBuffer, final Buffer tmpOutputBuffer) throws SSLException
handshakeWrapback to summary
public static Buffer handshakeWrap(final Connection<L> connection, final SSLConnectionContext sslCtx, final Buffer netBuffer) throws SSLException
isHandshakingback to summary
public static boolean isHandshaking(final SSLEngine sslEngine)
makeInputRemainderback to summary
pack-priv static Buffer makeInputRemainder(final SSLConnectionContext sslCtx, final FilterChainContext context, final Buffer buffer)
moveback to summary
pack-priv static Buffer move(final MemoryManager<E extends Buffer> memoryManager, final Buffer buffer)
setSSLEngineback to summary
public static void setSSLEngine(final Connection<L> connection, final SSLEngine sslEngine)
sslEngineUnwrapback to summary
pack-priv static SSLEngineResult sslEngineUnwrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer out) throws SSLException
sslEngineUnwrapback to summary
pack-priv static SSLEngineResult sslEngineUnwrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer[] out, final int outOffs, final int outLen) throws SSLException
sslEngineWrapback to summary
pack-priv static SSLEngineResult sslEngineWrap(final SSLEngine engine, final ByteBuffer in, final ByteBuffer out) throws SSLException
sslEngineWrapback to summary
pack-priv static SSLEngineResult sslEngineWrap(final SSLEngine engine, final ByteBuffer[] in, final int inOffs, final int inLen, final ByteBuffer out) throws SSLException
org.glassfish.grizzly.ssl back to summary

private Class SSLUtils.AndroidWorkAround

extends Object
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static SSLEngineResult
unwrapArray(final SSLEngine engine, final ByteBuffer in, final ByteBuffer[] out, final int outOffs, final int outLen)

public static SSLEngineResult
wrapArray(final SSLEngine engine, final ByteBuffer[] in, final int inOffs, final int inLen, final ByteBuffer out)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

AndroidWorkAroundback to summary
private AndroidWorkAround()

Method Detail

unwrapArrayback to summary
public static SSLEngineResult unwrapArray(final SSLEngine engine, final ByteBuffer in, final ByteBuffer[] out, final int outOffs, final int outLen) throws SSLException
wrapArrayback to summary
public static SSLEngineResult wrapArray(final SSLEngine engine, final ByteBuffer[] in, final int inOffs, final int inLen, final ByteBuffer out) throws SSLException