Package io.netty.handler.ssl
Class OpenSslX509KeyManagerFactory
- java.lang.Object
-
- javax.net.ssl.KeyManagerFactory
-
- io.netty.handler.ssl.OpenSslX509KeyManagerFactory
-
public final class OpenSslX509KeyManagerFactory extends javax.net.ssl.KeyManagerFactory
SpecialKeyManagerFactory
that pre-compute the keymaterial used whenSslProvider.OPENSSL
orSslProvider.OPENSSL_REFCNT
is used and so will improve handshake times and its performance. Because the keymaterial is pre-computed any modification to theKeyStore
is ignored afterKeyManagerFactory.init(KeyStore, char[])
is called.KeyManagerFactory.init(ManagerFactoryParameters)
is not supported by this implementation and so a call to it will always result in anInvalidAlgorithmParameterException
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi
private static class
OpenSslX509KeyManagerFactory.OpenSslKeyStore
-
Field Summary
Fields Modifier and Type Field Description private OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi
spi
-
Constructor Summary
Constructors Modifier Constructor Description OpenSslX509KeyManagerFactory()
private
OpenSslX509KeyManagerFactory(OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi spi)
OpenSslX509KeyManagerFactory(java.lang.String algorithm, java.security.Provider provider)
OpenSslX509KeyManagerFactory(java.security.Provider provider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OpenSslX509KeyManagerFactory
newEngineBased(java.io.File certificateChain, java.lang.String password)
Create a new initializedOpenSslX509KeyManagerFactory
which loads itsPrivateKey
directly from anOpenSSL engine
via the ENGINE_load_private_key function.static OpenSslX509KeyManagerFactory
newEngineBased(java.security.cert.X509Certificate[] certificateChain, java.lang.String password)
Create a new initializedOpenSslX509KeyManagerFactory
which loads itsPrivateKey
directly from anOpenSSL engine
via the ENGINE_load_private_key function.static OpenSslX509KeyManagerFactory
newKeyless(java.io.File chain)
static OpenSslX509KeyManagerFactory
newKeyless(java.io.InputStream chain)
static OpenSslX509KeyManagerFactory
newKeyless(java.security.cert.X509Certificate... certificateChain)
Returns a new initializedOpenSslX509KeyManagerFactory
which will provide its private key by using theOpenSslPrivateKeyMethod
.private static OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi
newOpenSslKeyManagerFactorySpi(java.lang.String algorithm, java.security.Provider provider)
private static OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi
newOpenSslKeyManagerFactorySpi(java.security.Provider provider)
(package private) OpenSslKeyMaterialProvider
newProvider()
-
-
-
Field Detail
-
spi
private final OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi spi
-
-
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
-
OpenSslX509KeyManagerFactory
private OpenSslX509KeyManagerFactory(OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi spi)
-
-
Method Detail
-
newOpenSslKeyManagerFactorySpi
private static OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi newOpenSslKeyManagerFactorySpi(java.security.Provider provider)
-
newOpenSslKeyManagerFactorySpi
private static OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi newOpenSslKeyManagerFactorySpi(java.lang.String algorithm, java.security.Provider provider) throws java.security.NoSuchAlgorithmException
- Throws:
java.security.NoSuchAlgorithmException
-
newProvider
OpenSslKeyMaterialProvider newProvider()
-
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 initializedOpenSslX509KeyManagerFactory
which loads itsPrivateKey
directly from anOpenSSL 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 initializedOpenSslX509KeyManagerFactory
which loads itsPrivateKey
directly from anOpenSSL 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 initializedOpenSslX509KeyManagerFactory
which will provide its private key by using theOpenSslPrivateKeyMethod
.- Throws:
java.security.cert.CertificateException
java.io.IOException
java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.UnrecoverableKeyException
-
-