Enables SNI (Server Name Indication) extension for server side SSL. For clients support SNI, the server could have multiple host name bound on a single IP. The client will send host name in the handshake data so server could decide which certificate to choose for the host name.
| Modifier and Type | Field and Description |
|---|---|
| protected final long | |
| private String | |
| private ScheduledFuture |
| Access | Constructor and Description |
|---|---|
| protected | |
| protected | AbstractSniHandler(int
the maximum length of the client hello message. maxClientHelloLength, long the handshake timeout in milliseconds handshakeTimeoutMillis)
|
| public |
| handshakeTimeoutMillis | back to summary |
|---|---|
| protected final long handshakeTimeoutMillis | |
| hostname | back to summary |
|---|---|
| private String hostname | |
| timeoutFuture | back to summary |
|---|---|
| private ScheduledFuture<?> timeoutFuture | |
| AbstractSniHandler | back to summary |
|---|---|
protected AbstractSniHandler(long handshakeTimeoutMillis)
| |
| AbstractSniHandler | back to summary |
|---|---|
protected AbstractSniHandler(int maxClientHelloLength, long handshakeTimeoutMillis)
| |
| AbstractSniHandler | back to summary |
|---|---|
| public AbstractSniHandler() | |
| channelActive | back to summary |
|---|---|
| public void channelActive(ChannelHandlerContext ctx) throws Exception Overrides io. Implements io. Doc from io. Calls
| |
| checkStartTimeout | back to summary |
|---|---|
| private void checkStartTimeout(final ChannelHandlerContext ctx) | |
| extractSniHostname | back to summary |
|---|---|
| private static String extractSniHostname(ByteBuf in) | |
| fireSniCompletionEvent | back to summary |
|---|---|
| private static void fireSniCompletionEvent(ChannelHandlerContext ctx, String hostname, Future<?> future) | |
| handlerAdded | back to summary |
|---|---|
| public void handlerAdded(ChannelHandlerContext ctx) throws Exception Overrides io. Implements io. Doc from io. Gets called after the
| |
| lookup | back to summary |
|---|---|
| protected Future Implements abstract io. Doc from io. Kicks off a lookup for the given
struct {
ProtocolVersion client_version;
Random random;
SessionID session_id;
CipherSuite cipher_suites<2..2^16-2>;
CompressionMethod compression_methods<1..2^8-1>;
select (extensions_present) {
case false:
struct {};
case true:
Extension extensions<0..2^16-1>;
};
} ClientHello;
| |
| lookup | back to summary |
|---|---|
| protected abstract Future Kicks off a lookup for the given SNI value and returns a | |
| onLookupComplete | back to summary |
|---|---|
| protected void onLookupComplete(ChannelHandlerContext ctx, Future<T> future) throws Exception Implements abstract io. Doc from io. Called upon completion of the
| |
| onLookupComplete | back to summary |
|---|---|
| protected abstract void onLookupComplete(ChannelHandlerContext ctx, String hostname, Future<T> future) throws Exception Called upon completion of the | |