Class OpenSslX509KeyManagerFactory


  • public final class OpenSslX509KeyManagerFactory
    extends javax.net.ssl.KeyManagerFactory
    Special KeyManagerFactory that pre-compute the keymaterial used when SslProvider.OPENSSL or SslProvider.OPENSSL_REFCNT is used and so will improve handshake times and its performance. Because the keymaterial is pre-computed any modification to the KeyStore is ignored after KeyManagerFactory.init(KeyStore, char[]) is called. KeyManagerFactory.init(ManagerFactoryParameters) is not supported by this implementation and so a call to it will always result in an InvalidAlgorithmParameterException.
    • Constructor Detail

      • OpenSslX509KeyManagerFactory

        public OpenSslX509KeyManagerFactory()
      • OpenSslX509KeyManagerFactory

        public OpenSslX509KeyManagerFactory​(java.security.Provider provider)
      • OpenSslX509KeyManagerFactory

        public OpenSslX509KeyManagerFactory​(java.lang.String algorithm,
                                            java.security.Provider provider)
                                     throws java.security.NoSuchAlgorithmException
        Throws:
        java.security.NoSuchAlgorithmException
    • Method Detail

      • newEngineBased

        public static OpenSslX509KeyManagerFactory newEngineBased​(java.io.File certificateChain,
                                                                  java.lang.String password)
                                                           throws java.security.cert.CertificateException,
                                                                  java.io.IOException,
                                                                  java.security.KeyStoreException,
                                                                  java.security.NoSuchAlgorithmException,
                                                                  java.security.UnrecoverableKeyException
        Create a new initialized OpenSslX509KeyManagerFactory which loads its PrivateKey directly from an OpenSSL engine via the ENGINE_load_private_key function.
        Throws:
        java.security.cert.CertificateException
        java.io.IOException
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.UnrecoverableKeyException
      • newEngineBased

        public static OpenSslX509KeyManagerFactory newEngineBased​(java.security.cert.X509Certificate[] certificateChain,
                                                                  java.lang.String password)
                                                           throws java.security.cert.CertificateException,
                                                                  java.io.IOException,
                                                                  java.security.KeyStoreException,
                                                                  java.security.NoSuchAlgorithmException,
                                                                  java.security.UnrecoverableKeyException
        Create a new initialized OpenSslX509KeyManagerFactory which loads its PrivateKey directly from an OpenSSL engine via the ENGINE_load_private_key function.
        Throws:
        java.security.cert.CertificateException
        java.io.IOException
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.UnrecoverableKeyException
      • newKeyless

        public static OpenSslX509KeyManagerFactory newKeyless​(java.io.File chain)
                                                       throws java.security.cert.CertificateException,
                                                              java.io.IOException,
                                                              java.security.KeyStoreException,
                                                              java.security.NoSuchAlgorithmException,
                                                              java.security.UnrecoverableKeyException
        Throws:
        java.security.cert.CertificateException
        java.io.IOException
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.UnrecoverableKeyException
      • newKeyless

        public static OpenSslX509KeyManagerFactory newKeyless​(java.io.InputStream chain)
                                                       throws java.security.cert.CertificateException,
                                                              java.io.IOException,
                                                              java.security.KeyStoreException,
                                                              java.security.NoSuchAlgorithmException,
                                                              java.security.UnrecoverableKeyException
        Throws:
        java.security.cert.CertificateException
        java.io.IOException
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.UnrecoverableKeyException
      • newKeyless

        public static OpenSslX509KeyManagerFactory newKeyless​(java.security.cert.X509Certificate... certificateChain)
                                                       throws java.security.cert.CertificateException,
                                                              java.io.IOException,
                                                              java.security.KeyStoreException,
                                                              java.security.NoSuchAlgorithmException,
                                                              java.security.UnrecoverableKeyException
        Returns a new initialized OpenSslX509KeyManagerFactory which will provide its private key by using the OpenSslPrivateKeyMethod.
        Throws:
        java.security.cert.CertificateException
        java.io.IOException
        java.security.KeyStoreException
        java.security.NoSuchAlgorithmException
        java.security.UnrecoverableKeyException