Package org.apache.hc.core5.http2.ssl
Class H2ClientTlsStrategy
- java.lang.Object
-
- org.apache.hc.core5.http2.ssl.H2ClientTlsStrategy
-
- All Implemented Interfaces:
TlsStrategy
public class H2ClientTlsStrategy extends java.lang.Object implements TlsStrategy
Default client-side implementation ofTlsStrategythat upgrades outbound connections with TLS security. This strategy will try to negotiate an application protocol using TLS ALPN extension based onHttpVersionPolicypassed to the strategy as an attachment. The strategy will also enforce restrictions on TLS parameters required by the HTTP/2 specification.- Since:
- 5.0
-
-
Field Summary
Fields Modifier and Type Field Description private SSLSessionInitializerinitializerprivate SSLBufferModesslBufferModeprivate javax.net.ssl.SSLContextsslContextprivate SSLSessionVerifierverifier
-
Constructor Summary
Constructors Constructor Description H2ClientTlsStrategy()H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext)H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLBufferMode sslBufferMode, SSLSessionInitializer initializer, SSLSessionVerifier verifier)H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLSessionInitializer initializer, SSLSessionVerifier verifier)H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLSessionVerifier verifier)H2ClientTlsStrategy(SSLSessionVerifier verifier)Constructor with the default SSL context based on system properties and customSSLSessionVerifier.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanupgrade(TransportSecurityLayer tlsSession, HttpHost host, java.net.SocketAddress localAddress, java.net.SocketAddress remoteAddress, java.lang.Object attachment, Timeout handshakeTimeout)voidupgrade(TransportSecurityLayer tlsSession, NamedEndpoint endpoint, java.lang.Object attachment, Timeout handshakeTimeout, FutureCallback<TransportSecurityLayer> callback)Secures current session layer with TLS.
-
-
-
Field Detail
-
sslContext
private final javax.net.ssl.SSLContext sslContext
-
sslBufferMode
private final SSLBufferMode sslBufferMode
-
initializer
private final SSLSessionInitializer initializer
-
verifier
private final SSLSessionVerifier verifier
-
-
Constructor Detail
-
H2ClientTlsStrategy
public H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLBufferMode sslBufferMode, SSLSessionInitializer initializer, SSLSessionVerifier verifier)
-
H2ClientTlsStrategy
public H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLSessionInitializer initializer, SSLSessionVerifier verifier)
-
H2ClientTlsStrategy
public H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext, SSLSessionVerifier verifier)
-
H2ClientTlsStrategy
public H2ClientTlsStrategy(javax.net.ssl.SSLContext sslContext)
-
H2ClientTlsStrategy
public H2ClientTlsStrategy()
-
H2ClientTlsStrategy
public H2ClientTlsStrategy(SSLSessionVerifier verifier)
Constructor with the default SSL context based on system properties and customSSLSessionVerifier.- Parameters:
verifier- the customSSLSessionVerifier.- Since:
- 5.2
- See Also:
SSLContext
-
-
Method Detail
-
upgrade
public void upgrade(TransportSecurityLayer tlsSession, NamedEndpoint endpoint, java.lang.Object attachment, Timeout handshakeTimeout, FutureCallback<TransportSecurityLayer> callback)
Description copied from interface:TlsStrategySecures current session layer with TLS.- Specified by:
upgradein interfaceTlsStrategy- Parameters:
tlsSession- the session layerendpoint- the name of the opposite endpoint when applicable ornullotherwise.attachment- arbitrary object passes to the TLS session initialization code.handshakeTimeout- the timeout to use while performing the TLS handshake; may benull.callback- Operation result callback.
-
upgrade
@Deprecated public boolean upgrade(TransportSecurityLayer tlsSession, HttpHost host, java.net.SocketAddress localAddress, java.net.SocketAddress remoteAddress, java.lang.Object attachment, Timeout handshakeTimeout)
Description copied from interface:TlsStrategySecures current session layer with TLS.- Specified by:
upgradein interfaceTlsStrategy- Parameters:
tlsSession- the session layerhost- the name of the opposite endpoint when given ornullotherwise.localAddress- the address of the local endpoint.remoteAddress- the address of the remote endpoint.attachment- arbitrary object passes to the TLS session initialization code.handshakeTimeout- the timeout to use while performing the TLS handshake; may benull.- Returns:
trueif the session has been upgraded,falseotherwise.
-
-