Class TLS
- java.lang.Object
-
- akka.stream.javadsl.TLS
-
public class TLS extends java.lang.Object
Create a StreamTlsBidiFlow
in client mode. The SSLContext will be used to create an SSLEngine to which then thefirstSession
parameters are applied before initiating the first handshake. Therole
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 Summary
Constructors Constructor Description TLS()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BidiFlow<TLSProtocol.SslTlsOutbound,ByteString,ByteString,TLSProtocol.SslTlsInbound,NotUsed>
create(java.util.function.Supplier<javax.net.ssl.SSLEngine> sslEngineCreator, TLSClosing closing)
Create a StreamTlsBidiFlow
.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 StreamTlsBidiFlow
.static BidiFlow<TLSProtocol.SslTlsOutbound,ByteString,ByteString,TLSProtocol.SslTlsInbound,NotUsed>
create(javax.net.ssl.SSLContext sslContext, TLSProtocol.NegotiateNewSession firstSession, TLSRole role)
Create a StreamTlsBidiFlow
in client mode.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 StreamTlsBidiFlow
in client mode.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)
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 StreamTlsBidiFlow
in client mode.
-
-
-
Method Detail
-
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)
-
create
public static BidiFlow<TLSProtocol.SslTlsOutbound,ByteString,ByteString,TLSProtocol.SslTlsInbound,NotUsed> create(javax.net.ssl.SSLContext sslContext, TLSProtocol.NegotiateNewSession firstSession, TLSRole role)
Create a StreamTlsBidiFlow
in client mode. The SSLContext will be used to create an SSLEngine to which then thefirstSession
parameters are applied before initiating the first handshake. Therole
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
.- 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 StreamTlsBidiFlow
in client mode. The SSLContext will be used to create an SSLEngine to which then thefirstSession
parameters are applied before initiating the first handshake. Therole
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.For a description of the
closing
parameter please refer toTLSClosing
.The
hostInfo
parameter allows to optionally specify a pair of hostname and port that will be used when creating the SSLEngine withsslContext.createSslEngine
. The SSLEngine may use this information e.g. when an endpoint identification algorithm was configured usingjavax.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 StreamTlsBidiFlow
in client mode. The SSLContext will be used to create an SSLEngine to which then thefirstSession
parameters are applied before initiating the first handshake. Therole
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.For a description of the
closing
parameter please refer toTLSClosing
.The
hostInfo
parameter allows to optionally specify a pair of hostname and port that will be used when creating the SSLEngine withsslContext.createSslEngine
. The SSLEngine may use this information e.g. when an endpoint identification algorithm was configured usingjavax.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 StreamTlsBidiFlow
. 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 toTLSClosing
.- 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 StreamTlsBidiFlow
. 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 toTLSClosing
.- Parameters:
sslEngineCreator
- (undocumented)closing
- (undocumented)- Returns:
- (undocumented)
-
-