Class TLS


  • public class TLS
    extends java.lang.Object
    Create a StreamTls BidiFlow in client mode. The SSLContext will be used to create an SSLEngine to which then the firstSession parameters are applied before initiating the first handshake. The role parameter determines the SSLEngine’s role; this is often the same as the underlying transport’s server or client role, but that is not a requirement and depends entirely on the application protocol.

    This method uses the default closing behavior or IgnoreComplete.

    • Constructor Detail

      • TLS

        public TLS()
    • Method Detail

      • create

        public static BidiFlow<TLSProtocol.SslTlsOutbound,​ByteString,​ByteString,​TLSProtocol.SslTlsInbound,​NotUsed> create​(javax.net.ssl.SSLContext sslContext,
                                                                                                                                                  TLSProtocol.NegotiateNewSession firstSession,
                                                                                                                                                  TLSRole role)
        Create a StreamTls BidiFlow in client mode. The SSLContext will be used to create an SSLEngine to which then the firstSession parameters are applied before initiating the first handshake. The role parameter determines the SSLEngine&rsquo;s role; this is often the same as the underlying transport&rsquo;s server or client role, but that is not a requirement and depends entirely on the application protocol.

        This method uses the default closing behavior or IgnoreComplete.

        Parameters:
        sslContext - (undocumented)
        firstSession - (undocumented)
        role - (undocumented)
        Returns:
        (undocumented)
      • create

        public static BidiFlow<TLSProtocol.SslTlsOutbound,​ByteString,​ByteString,​TLSProtocol.SslTlsInbound,​NotUsed> create​(javax.net.ssl.SSLContext sslContext,
                                                                                                                                                  java.util.Optional<AkkaSSLConfig> sslConfig,
                                                                                                                                                  TLSProtocol.NegotiateNewSession firstSession,
                                                                                                                                                  TLSRole role,
                                                                                                                                                  java.util.Optional<Pair<java.lang.String,​java.lang.Integer>> hostInfo,
                                                                                                                                                  TLSClosing closing)
        Create a StreamTls BidiFlow in client mode. The SSLContext will be used to create an SSLEngine to which then the firstSession parameters are applied before initiating the first handshake. The role parameter determines the SSLEngine&rsquo;s role; this is often the same as the underlying transport&rsquo;s server or client role, but that is not a requirement and depends entirely on the application protocol.

        For a description of the closing parameter please refer to TLSClosing.

        The hostInfo parameter allows to optionally specify a pair of hostname and port that will be used when creating the SSLEngine with sslContext.createSslEngine. The SSLEngine may use this information e.g. when an endpoint identification algorithm was configured using javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm.

        Parameters:
        sslContext - (undocumented)
        sslConfig - (undocumented)
        firstSession - (undocumented)
        role - (undocumented)
        hostInfo - (undocumented)
        closing - (undocumented)
        Returns:
        (undocumented)
      • create

        public static BidiFlow<TLSProtocol.SslTlsOutbound,​ByteString,​ByteString,​TLSProtocol.SslTlsInbound,​NotUsed> create​(javax.net.ssl.SSLContext sslContext,
                                                                                                                                                  TLSProtocol.NegotiateNewSession firstSession,
                                                                                                                                                  TLSRole role,
                                                                                                                                                  java.util.Optional<Pair<java.lang.String,​java.lang.Integer>> hostInfo,
                                                                                                                                                  TLSClosing closing)
        Create a StreamTls BidiFlow in client mode. The SSLContext will be used to create an SSLEngine to which then the firstSession parameters are applied before initiating the first handshake. The role parameter determines the SSLEngine&rsquo;s role; this is often the same as the underlying transport&rsquo;s server or client role, but that is not a requirement and depends entirely on the application protocol.

        For a description of the closing parameter please refer to TLSClosing.

        The hostInfo parameter allows to optionally specify a pair of hostname and port that will be used when creating the SSLEngine with sslContext.createSslEngine. The SSLEngine may use this information e.g. when an endpoint identification algorithm was configured using javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm.

        Parameters:
        sslContext - (undocumented)
        firstSession - (undocumented)
        role - (undocumented)
        hostInfo - (undocumented)
        closing - (undocumented)
        Returns:
        (undocumented)
      • create

        public static BidiFlow<TLSProtocol.SslTlsOutbound,​ByteString,​ByteString,​TLSProtocol.SslTlsInbound,​NotUsed> create​(java.util.function.Supplier<javax.net.ssl.SSLEngine> sslEngineCreator,
                                                                                                                                                  java.util.function.Consumer<javax.net.ssl.SSLSession> sessionVerifier,
                                                                                                                                                  TLSClosing closing)
        Create a StreamTls BidiFlow. This is a low-level interface.

        You can specify a constructor sslEngineCreator to create an SSLEngine that must already be configured for client and server mode and with all the parameters for the first session.

        You can specify a verification function sessionVerifier that will be called after every successful handshake to verify additional session information.

        For a description of the closing parameter please refer to TLSClosing.

        Parameters:
        sslEngineCreator - (undocumented)
        sessionVerifier - (undocumented)
        closing - (undocumented)
        Returns:
        (undocumented)
      • create

        public static BidiFlow<TLSProtocol.SslTlsOutbound,​ByteString,​ByteString,​TLSProtocol.SslTlsInbound,​NotUsed> create​(java.util.function.Supplier<javax.net.ssl.SSLEngine> sslEngineCreator,
                                                                                                                                                  TLSClosing closing)
        Create a StreamTls BidiFlow. This is a low-level interface.

        You can specify a constructor sslEngineCreator to create an SSLEngine that must already be configured for client and server mode and with all the parameters for the first session.

        For a description of the closing parameter please refer to TLSClosing.

        Parameters:
        sslEngineCreator - (undocumented)
        closing - (undocumented)
        Returns:
        (undocumented)