org.apache.hc.client5.http.ssl

## Class DefaultClientTlsStrategy

- java.lang.Object
- - org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy

All Implemented Interfaces:
  TlsStrategy

    @Contract(threading=STATELESS)
    public class DefaultClientTlsStrategy
    extends Object
    implements TlsStrategy

Default SSL upgrade strategy for non-blocking client connections.

Since:
  5.0

### Constructor Summary

Constructors
Constructor and Description
`DefaultClientTlsStrategy(SSLContext sslcontext)`
`DefaultClientTlsStrategy(SSLContext sslcontext, HostnameVerifier hostnameVerifier)`
`DefaultClientTlsStrategy(SSLContext sslContext, String[] supportedProtocols, String[] supportedCipherSuites, SSLBufferMode sslBufferManagement, HostnameVerifier hostnameVerifier)`
`DefaultClientTlsStrategy(SSLContext sslContext, String[] supportedProtocols, String[] supportedCipherSuites, SSLBufferMode sslBufferManagement, HostnameVerifier hostnameVerifier, Factory<SSLEngine,TlsDetails> tlsDetailsFactory)`

### Method Summary

Methods
`static TlsStrategy` `getDefault()`
`static TlsStrategy` `getSystemDefault()`
`protected void` `initializeEngine(SSLEngine sslEngine)`
`boolean` `upgrade(TransportSecurityLayer tlsSession, HttpHost host, SocketAddress localAddress, SocketAddress remoteAddress, Object attachment)`
`protected void` `verifySession(String hostname, SSLSession sslsession)`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### DefaultClientTlsStrategy

    public DefaultClientTlsStrategy(SSLContext sslContext,
                            String[] supportedProtocols,
                            String[] supportedCipherSuites,
                            SSLBufferMode sslBufferManagement,
                            HostnameVerifier hostnameVerifier,
                            Factory<SSLEngine,TlsDetails> tlsDetailsFactory)

#### DefaultClientTlsStrategy

    public DefaultClientTlsStrategy(SSLContext sslContext,
                            String[] supportedProtocols,
                            String[] supportedCipherSuites,
                            SSLBufferMode sslBufferManagement,
                            HostnameVerifier hostnameVerifier)

#### DefaultClientTlsStrategy

    public DefaultClientTlsStrategy(SSLContext sslcontext,
                            HostnameVerifier hostnameVerifier)

#### DefaultClientTlsStrategy

    public DefaultClientTlsStrategy(SSLContext sslcontext)

### Method Detail

#### getDefault

    public static TlsStrategy getDefault()

#### getSystemDefault

    public static TlsStrategy getSystemDefault()

#### upgrade

    public boolean upgrade(TransportSecurityLayer tlsSession,
                  HttpHost host,
                  SocketAddress localAddress,
                  SocketAddress remoteAddress,
                  Object attachment)

Specified by:
  `upgrade` in interface `TlsStrategy`

#### initializeEngine

    protected void initializeEngine(SSLEngine sslEngine)

#### verifySession

    protected void verifySession(String hostname,
                     SSLSession sslsession)
                          throws SSLException

Throws:
  `SSLException`