Class JdkSslClientContext


  • public final class JdkSslClientContext
    extends JdkSslContext
    A client-side SslContext which uses JDK's SSL/TLS implementation.
    • Field Detail

      • ctx

        private final javax.net.ssl.SSLContext ctx
      • nextProtocols

        private final java.util.List<java.lang.String> nextProtocols
    • Constructor Detail

      • JdkSslClientContext

        public JdkSslClientContext()
                            throws javax.net.ssl.SSLException
        Creates a new instance.
        Throws:
        javax.net.ssl.SSLException
      • JdkSslClientContext

        public JdkSslClientContext​(java.io.File certChainFile)
                            throws javax.net.ssl.SSLException
        Creates a new instance.
        Parameters:
        certChainFile - an X.509 certificate chain file in PEM format. null to use the system default
        Throws:
        javax.net.ssl.SSLException
      • JdkSslClientContext

        public JdkSslClientContext​(javax.net.ssl.TrustManagerFactory trustManagerFactory)
                            throws javax.net.ssl.SSLException
        Creates a new instance.
        Parameters:
        trustManagerFactory - the TrustManagerFactory that provides the TrustManagers that verifies the certificates sent from servers. null to use the default.
        Throws:
        javax.net.ssl.SSLException
      • JdkSslClientContext

        public JdkSslClientContext​(java.io.File certChainFile,
                                   javax.net.ssl.TrustManagerFactory trustManagerFactory)
                            throws javax.net.ssl.SSLException
        Creates a new instance.
        Parameters:
        certChainFile - an X.509 certificate chain file in PEM format. null to use the system default
        trustManagerFactory - the TrustManagerFactory that provides the TrustManagers that verifies the certificates sent from servers. null to use the default.
        Throws:
        javax.net.ssl.SSLException
      • JdkSslClientContext

        public JdkSslClientContext​(SslBufferPool bufPool,
                                   java.io.File certChainFile,
                                   javax.net.ssl.TrustManagerFactory trustManagerFactory,
                                   java.lang.Iterable<java.lang.String> ciphers,
                                   java.lang.Iterable<java.lang.String> nextProtocols,
                                   long sessionCacheSize,
                                   long sessionTimeout)
                            throws javax.net.ssl.SSLException
        Creates a new instance.
        Parameters:
        bufPool - the buffer pool which will be used by this context. null to use the default buffer pool.
        certChainFile - an X.509 certificate chain file in PEM format. null to use the system default
        trustManagerFactory - the TrustManagerFactory that provides the TrustManagers that verifies the certificates sent from servers. null to use the default.
        ciphers - the cipher suites to enable, in the order of preference. null to use the default cipher suites.
        nextProtocols - the application layer protocols to accept, in the order of preference. null to disable TLS NPN/ALPN extension.
        sessionCacheSize - the size of the cache used for storing SSL session objects. 0 to use the default value.
        sessionTimeout - the timeout for the cached SSL session objects, in seconds. 0 to use the default value.
        Throws:
        javax.net.ssl.SSLException
    • Method Detail

      • isClient

        public boolean isClient()
        Description copied from class: SslContext
        Returns the true if and only if this context is for client-side.
        Specified by:
        isClient in class SslContext
      • nextProtocols

        public java.util.List<java.lang.String> nextProtocols()
        Description copied from class: SslContext
        Returns the list of application layer protocols for the TLS NPN/ALPN extension, in the order of preference.
        Specified by:
        nextProtocols in class SslContext
        Returns:
        the list of application layer protocols. null if NPN/ALPN extension has been disabled.
      • context

        public javax.net.ssl.SSLContext context()
        Description copied from class: JdkSslContext
        Returns the JDK SSLContext object held by this context.
        Specified by:
        context in class JdkSslContext