Class ReferenceCountedOpenSslClientContext

java.lang.Object
io.netty.handler.ssl.SslContext
io.netty.handler.ssl.ReferenceCountedOpenSslContext
io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
All Implemented Interfaces:
ReferenceCounted

public final class ReferenceCountedOpenSslClientContext extends ReferenceCountedOpenSslContext
A client-side SslContext which uses OpenSSL's SSL/TLS implementation.

Instances of this class must be released or else native memory will leak!

Instances of this class must not be released before any ReferenceCountedOpenSslEngine which depends upon the instance of this class is released. Otherwise if any method of ReferenceCountedOpenSslEngine is called which uses this class's JNI resources the JVM may crash.

  • Field Details

    • SUPPORTED_KEY_TYPES

      private static final java.lang.String[] SUPPORTED_KEY_TYPES
    • sessionContext

      private final OpenSslSessionContext sessionContext
  • Constructor Details

    • ReferenceCountedOpenSslClientContext

      ReferenceCountedOpenSslClientContext(java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, java.lang.String[] protocols, long sessionCacheSize, long sessionTimeout, boolean enableOcsp, java.lang.String keyStore, java.lang.String endpointIdentificationAlgorithm, java.util.List<javax.net.ssl.SNIServerName> serverNames, ResumptionController resumptionController, java.util.Map.Entry<SslContextOption<?>, java.lang.Object>[] options, java.util.List<OpenSslCredential> credentials) throws javax.net.ssl.SSLException
      Throws:
      javax.net.ssl.SSLException
    • ReferenceCountedOpenSslClientContext

      ReferenceCountedOpenSslClientContext(java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, java.lang.String[] protocols, long sessionCacheSize, long sessionTimeout, boolean startTls, boolean enableOcsp, java.lang.String keyStore, java.lang.String endpointIdentificationAlgorithm, java.util.List<javax.net.ssl.SNIServerName> serverNames, ResumptionController resumptionController, java.util.Map.Entry<SslContextOption<?>, java.lang.Object>[] options, java.util.List<OpenSslCredential> credentials) throws javax.net.ssl.SSLException
      Throws:
      javax.net.ssl.SSLException
  • Method Details

    • sessionContext

      public OpenSslSessionContext sessionContext()
      Description copied from class: SslContext
      Returns the SSLSessionContext object held by this context.
      Specified by:
      sessionContext in class ReferenceCountedOpenSslContext
    • newSessionContext

      static OpenSslSessionContext newSessionContext(ReferenceCountedOpenSslContext thiz, long ctx, OpenSslEngineMap engines, java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.String keyStore, long sessionCacheSize, long sessionTimeout, ResumptionController resumptionController, boolean fallbackToJdkProviders) throws javax.net.ssl.SSLException
      Throws:
      javax.net.ssl.SSLException
    • setVerifyCallback

      private static void setVerifyCallback(long ctx, OpenSslEngineMap engines, javax.net.ssl.X509TrustManager manager)