Class OpenSslServerContext


  • public final class OpenSslServerContext
    extends SslContext
    A server-side SslContext which uses OpenSSL's SSL/TLS implementation.
    • Constructor Detail

      • OpenSslServerContext

        public OpenSslServerContext​(File certChainFile,
                                    File keyFile)
                             throws SSLException
        Creates a new instance.
        Parameters:
        certChainFile - an X.509 certificate chain file in PEM format
        keyFile - a PKCS#8 private key file in PEM format
        Throws:
        SSLException
      • OpenSslServerContext

        public OpenSslServerContext​(File certChainFile,
                                    File keyFile,
                                    String keyPassword)
                             throws SSLException
        Creates a new instance.
        Parameters:
        certChainFile - an X.509 certificate chain file in PEM format
        keyFile - a PKCS#8 private key file in PEM format
        keyPassword - the password of the keyFile. null if it's not password-protected.
        Throws:
        SSLException
      • OpenSslServerContext

        public OpenSslServerContext​(SslBufferPool bufPool,
                                    File certChainFile,
                                    File keyFile,
                                    String keyPassword,
                                    Iterable<String> ciphers,
                                    Iterable<String> nextProtocols,
                                    long sessionCacheSize,
                                    long sessionTimeout)
                             throws 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
        keyFile - a PKCS#8 private key file in PEM format
        keyPassword - the password of the keyFile. null if it's not password-protected.
        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:
        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
      • cipherSuites

        public List<String> cipherSuites()
        Description copied from class: SslContext
        Returns the list of enabled cipher suites, in the order of preference.
        Specified by:
        cipherSuites in class SslContext
      • sessionCacheSize

        public long sessionCacheSize()
        Description copied from class: SslContext
        Returns the size of the cache used for storing SSL session objects.
        Specified by:
        sessionCacheSize in class SslContext
      • sessionTimeout

        public long sessionTimeout()
        Description copied from class: SslContext
        Returns the timeout for the cached SSL session objects, in seconds.
        Specified by:
        sessionTimeout in class SslContext
      • nextProtocols

        public List<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 long context()
        Returns the SSL_CTX object of this context.
      • newEngine

        public SSLEngine newEngine​(String peerHost,
                                   int peerPort)
        Description copied from class: SslContext
        Creates a new SSLEngine using advisory peer information.
        Specified by:
        newEngine in class SslContext
        Parameters:
        peerHost - the non-authoritative name of the host
        peerPort - the non-authoritative port
        Returns:
        a new SSLEngine
      • setTicketKeys

        public void setTicketKeys​(byte[] keys)
        Sets the SSL session ticket keys of this context.