Filter implementation. This filter supports SNI extension on both client and
server sides, however the client side logic works on JDK 7+ only.
On the server-side this filter allows developers to set custom SSLEngineConfigurator, based on the
host name provided by the client in the SSL CLIENT_HELLO message. An SNIServerConfigResolver registered via
setServerSSLConfigResolver(org.glassfish.grizzly.sni.SNIServerConfigResolver) would be responsible for
customizing SSLEngineConfigurator.
On the other hand for client-side it's not mandatory to register SNIClientConfigResolver, because the host
name information could be obtained from the Connection#getPeerAddress(). However
SNIClientConfigResolver could be used to customize the host name.
| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private static final int | |
| private SNIClientConfigResolver | |
| private static final byte | |
| private static final Logger | |
| private static final int | |
| private SNIServerConfigResolver | |
| private static final int |
| Access | Constructor and Description |
|---|---|
| public | |
| public | SNIFilter(final SSLEngineConfigurator serverSSLEngineConfigurator, final SSLEngineConfigurator clientSSLEngineConfigurator)
Construct an SNIFilter with the given default client and server side |
| public | SNIFilter(final SSLEngineConfigurator
SSLEngine configurator for server side connections serverSSLEngineConfigurator, final SSLEngineConfigurator SSLEngine configurator for client side connections clientSSLEngineConfigurator, final boolean renegotiateOnClientAuthWant)Construct an SNIFilter with the given default |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv static boolean | |
| protected SSLBaseFilter. | createOptimizedTransportFilter(final TransportFilter childFilter)
Overrides org.
|
| public SNIClientConfigResolver | getClientSSLConfigResolver()
Returns: |
| private String | |
| public SNIServerConfigResolver | getServerSSLConfigResolver()
Returns: |
| public NextAction | handleConnect(final FilterChainContext ctx)
Overrides org. Implements org. Execute a unit of processing work to be performed, when channel gets connected. |
| public NextAction | handleRead(final FilterChainContext ctx)
Overrides org. Implements org. Execute a unit of processing work to be performed, when channel will become available for reading. |
| public void | setClientSSLConfigResolver(final SNIClientConfigResolver resolver)
Sets |
| public void | setServerSSLConfigResolver(final SNIServerConfigResolver resolver)
Sets |
| CLIENT_HELLO_HST | back to summary |
|---|---|
| private static final int CLIENT_HELLO_HST | |
| clientResolver | back to summary |
|---|---|
| private SNIClientConfigResolver clientResolver | |
| HANDSHAKE_TYPE | back to summary |
|---|---|
| private static final byte HANDSHAKE_TYPE | |
| LOGGER | back to summary |
|---|---|
| private static final Logger LOGGER | |
| MIN_TLS_VERSION | back to summary |
|---|---|
| private static final int MIN_TLS_VERSION | |
| serverResolver | back to summary |
|---|---|
| private SNIServerConfigResolver serverResolver | |
| SSLV3_RECORD_HEADER_SIZE | back to summary |
|---|---|
| private static final int SSLV3_RECORD_HEADER_SIZE | |
| SNIFilter | back to summary |
|---|---|
| public SNIFilter() | |
| SNIFilter | back to summary |
|---|---|
| public SNIFilter(final SSLEngineConfigurator serverSSLEngineConfigurator, final SSLEngineConfigurator clientSSLEngineConfigurator) Construct an SNIFilter with the given default client and server side | |
| SNIFilter | back to summary |
|---|---|
| public SNIFilter(final SSLEngineConfigurator serverSSLEngineConfigurator, final SSLEngineConfigurator clientSSLEngineConfigurator, final boolean renegotiateOnClientAuthWant) Construct an SNIFilter with the given default
| |
| checkTlsVersion | back to summary |
|---|---|
| pack-priv static boolean checkTlsVersion(final byte byte0, final byte major, final byte minor) | |
| createOptimizedTransportFilter | back to summary |
|---|---|
| protected SSLBaseFilter. Overrides org.
| |
| getClientSSLConfigResolver | back to summary |
|---|---|
public SNIClientConfigResolver getClientSSLConfigResolver()
| |
| getHostName | back to summary |
|---|---|
| private String getHostName(final Buffer input, final int len) | |
| getServerSSLConfigResolver | back to summary |
|---|---|
public SNIServerConfigResolver getServerSSLConfigResolver()
| |
| handleConnect | back to summary |
|---|---|
| public NextAction handleConnect(final FilterChainContext ctx) throws IOException Overrides org. Implements org. Doc from org. Execute a unit of processing work to be performed, when channel gets connected. This
| |
| handleRead | back to summary |
|---|---|
| public NextAction handleRead(final FilterChainContext ctx) throws IOException Overrides org. Implements org. Doc from org. Execute a unit of processing work to be performed, when channel will become available for reading. This
| |
| setClientSSLConfigResolver | back to summary |
|---|---|
| public void setClientSSLConfigResolver(final SNIClientConfigResolver resolver) Sets | |
| setServerSSLConfigResolver | back to summary |
|---|---|
| public void setServerSSLConfigResolver(final SNIServerConfigResolver resolver) Sets
| |
| Access | Constructor and Description |
|---|---|
| public | SNIAwareTransportFilterWrapper(final TransportFilter transportFilter, final SSLBaseFilter sslBaseFilter)
|
| Modifier and Type | Method and Description |
|---|---|
| public NextAction | handleRead(final FilterChainContext ctx)
Overrides org. Implements org. Delegates reading operation to |
| SNIAwareTransportFilterWrapper | back to summary |
|---|---|
| public SNIAwareTransportFilterWrapper(final TransportFilter transportFilter, final SSLBaseFilter sslBaseFilter) | |
| handleRead | back to summary |
|---|---|
| public NextAction handleRead(final FilterChainContext ctx) throws IOException Overrides org. Implements org. Doc from org. Delegates reading operation to
| |