Class OpenSSLUtil

  • All Implemented Interfaces:
    SSLUtil

    public class OpenSSLUtil
    extends SSLUtilBase
    OpenSSL implementation of SSL utility operations.
    • Constructor Detail

      • OpenSSLUtil

        public OpenSSLUtil​(SSLHostConfigCertificate certificate)
        Constructs an OpenSSLUtil for the given certificate.
        Parameters:
        certificate - The SSL host config certificate
    • Method Detail

      • getLog

        protected Log getLog()
        Description copied from class: SSLUtilBase
        Returns the log for this utility.
        Specified by:
        getLog in class SSLUtilBase
        Returns:
        the log
      • getImplementedProtocols

        protected java.util.Set<java.lang.String> getImplementedProtocols()
        Description copied from class: SSLUtilBase
        Returns the set of implemented SSL/TLS protocols.
        Specified by:
        getImplementedProtocols in class SSLUtilBase
        Returns:
        the implemented protocols
      • getImplementedCiphers

        protected java.util.Set<java.lang.String> getImplementedCiphers()
        Description copied from class: SSLUtilBase
        Returns the set of implemented SSL/TLS ciphers.
        Specified by:
        getImplementedCiphers in class SSLUtilBase
        Returns:
        the implemented ciphers
      • isTls13RenegAuthAvailable

        protected boolean isTls13RenegAuthAvailable()
        Description copied from class: SSLUtilBase
        Returns whether TLS 1.3 renegotiation authentication is available.
        Specified by:
        isTls13RenegAuthAvailable in class SSLUtilBase
        Returns:
        true if TLS 1.3 renegotiation authentication is available
      • createSSLContextInternal

        public SSLContext createSSLContextInternal​(java.util.List<java.lang.String> negotiableProtocols)
                                            throws java.lang.Exception
        Description copied from class: SSLUtilBase
        Creates an SSL context with the given negotiable protocols.
        Specified by:
        createSSLContextInternal in class SSLUtilBase
        Parameters:
        negotiableProtocols - The negotiable protocols
        Returns:
        the SSL context
        Throws:
        java.lang.Exception - if creation fails
      • chooseKeyManager

        @Deprecated
        public static javax.net.ssl.X509KeyManager chooseKeyManager​(javax.net.ssl.KeyManager[] managers)
                                                             throws java.lang.Exception
        Deprecated.
        Throws:
        java.lang.Exception
      • chooseKeyManager

        public static javax.net.ssl.X509KeyManager chooseKeyManager​(javax.net.ssl.KeyManager[] managers,
                                                                    boolean throwOnMissing)
                                                             throws java.lang.Exception
        Chooses an X509 key manager from the array of key managers.
        Parameters:
        managers - The key managers to choose from
        throwOnMissing - Whether to throw if no key manager is found
        Returns:
        The chosen X509 key manager
        Throws:
        java.lang.Exception - if no suitable key manager is found and throwOnMissing is true
      • getKeyManagers

        public javax.net.ssl.KeyManager[] getKeyManagers()
                                                  throws java.lang.Exception
        Description copied from interface: SSLUtil
        Returns the key managers.
        Specified by:
        getKeyManagers in interface SSLUtil
        Overrides:
        getKeyManagers in class SSLUtilBase
        Returns:
        The key managers
        Throws:
        java.lang.Exception - if an error occurs