java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.ByteToMessageDecoder
io.netty.handler.ssl.SslClientHelloHandler<T>
io.netty.handler.ssl.AbstractSniHandler<io.netty.handler.ssl.SslContext>
de.gematik.test.tiger.mockserver.socket.tls.SniHandler
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler

public class SniHandler extends io.netty.handler.ssl.AbstractSniHandler<io.netty.handler.ssl.SslContext>
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder

    io.netty.handler.codec.ByteToMessageDecoder.Cumulator

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final io.netty.util.AttributeKey<HttpProtocol>
     
    static final io.netty.util.AttributeKey<de.gematik.test.tiger.common.pki.TigerPkiIdentity>
     
    static final io.netty.util.AttributeKey<SSLSession>
     
    static final io.netty.util.AttributeKey<Certificate[]>
     
    static final io.netty.util.AttributeKey<SSLEngine>
     
    static final io.netty.util.AttributeKey<io.netty.handler.ssl.SslHandler>
     

    Fields inherited from class io.netty.handler.ssl.AbstractSniHandler

    handshakeTimeoutMillis

    Fields inherited from class io.netty.handler.ssl.SslClientHelloHandler

    MAX_CLIENT_HELLO_LENGTH

    Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

    COMPOSITE_CUMULATOR, MERGE_CUMULATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
    SniHandler(MockServerConfiguration configuration, NettySslContextFactory nettySslContextFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getAlpnProtocol(io.netty.channel.ChannelHandlerContext ctx)
     
    protected io.netty.util.concurrent.Future<io.netty.handler.ssl.SslContext>
    lookup(io.netty.channel.ChannelHandlerContext ctx, String hostname)
     
    protected void
    onLookupComplete(io.netty.channel.ChannelHandlerContext ctx, String hostname, io.netty.util.concurrent.Future<io.netty.handler.ssl.SslContext> sslContextFuture)
     
    static Certificate[]
    retrieveClientCertificates(io.netty.channel.ChannelHandlerContext ctx)
     

    Methods inherited from class io.netty.handler.ssl.AbstractSniHandler

    channelActive, handlerAdded, lookup, onLookupComplete

    Methods inherited from class io.netty.handler.ssl.SslClientHelloHandler

    bind, close, connect, decode, deregister, disconnect, flush, handlerRemoved0, read, write

    Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

    actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerRemoved
  • Field Details

    • UPSTREAM_SSL_ENGINE

      public static final io.netty.util.AttributeKey<SSLEngine> UPSTREAM_SSL_ENGINE
    • UPSTREAM_SSL_HANDLER

      public static final io.netty.util.AttributeKey<io.netty.handler.ssl.SslHandler> UPSTREAM_SSL_HANDLER
    • UPSTREAM_CLIENT_CERTIFICATES

      public static final io.netty.util.AttributeKey<Certificate[]> UPSTREAM_CLIENT_CERTIFICATES
    • SSL_SESSION

      public static final io.netty.util.AttributeKey<SSLSession> SSL_SESSION
    • NEGOTIATED_APPLICATION_PROTOCOL

      public static final io.netty.util.AttributeKey<HttpProtocol> NEGOTIATED_APPLICATION_PROTOCOL
    • SERVER_IDENTITY

      public static final io.netty.util.AttributeKey<de.gematik.test.tiger.common.pki.TigerPkiIdentity> SERVER_IDENTITY
  • Constructor Details

  • Method Details

    • lookup

      protected io.netty.util.concurrent.Future<io.netty.handler.ssl.SslContext> lookup(io.netty.channel.ChannelHandlerContext ctx, String hostname)
      Specified by:
      lookup in class io.netty.handler.ssl.AbstractSniHandler<io.netty.handler.ssl.SslContext>
    • onLookupComplete

      protected void onLookupComplete(io.netty.channel.ChannelHandlerContext ctx, String hostname, io.netty.util.concurrent.Future<io.netty.handler.ssl.SslContext> sslContextFuture)
      Specified by:
      onLookupComplete in class io.netty.handler.ssl.AbstractSniHandler<io.netty.handler.ssl.SslContext>
    • retrieveClientCertificates

      public static Certificate[] retrieveClientCertificates(io.netty.channel.ChannelHandlerContext ctx)
    • getAlpnProtocol

      public static Optional<HttpProtocol> getAlpnProtocol(io.netty.channel.ChannelHandlerContext ctx)