Package io.netty.handler.ssl
Class OpenSslKeyMaterialProvider
- java.lang.Object
-
- io.netty.handler.ssl.OpenSslKeyMaterialProvider
-
- Direct Known Subclasses:
OpenSslCachingKeyMaterialProvider,OpenSslX509KeyManagerFactory.OpenSslKeyManagerFactorySpi.ProviderFactory.OpenSslPopulatedKeyMaterialProvider
class OpenSslKeyMaterialProvider extends java.lang.ObjectProvidesOpenSslKeyMaterialfor a given alias.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classOpenSslKeyMaterialProvider.MaterialCache
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicReference<OpenSslKeyMaterialProvider.MaterialCache>cacheprivate javax.net.ssl.X509KeyManagerkeyManagerprivate java.lang.Stringpasswordprivate static OpenSslKeyMaterialProvider.MaterialCacheSENTINEL_DESTROYED
-
Constructor Summary
Constructors Constructor Description OpenSslKeyMaterialProvider(javax.net.ssl.X509KeyManager keyManager, java.lang.String password)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) OpenSslKeyMaterialchooseKeyMaterial(ByteBufAllocator allocator, java.lang.String alias)Returns theOpenSslKeyMaterialornull(if none) that should be used during the handshake by OpenSSL.private OpenSslKeyMaterialcreateKeyMaterial(ByteBufAllocator allocator, java.security.cert.X509Certificate[] certificates, java.security.PrivateKey key)(package private) voiddestroy()Will be invoked once the provider should be destroyed.private voiddestroyCache()(package private) javax.net.ssl.X509KeyManagerkeyManager()Returns the underlyingX509KeyManagerthat is used.(package private) static voidvalidateKeyMaterialSupported(java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword)private static voidvalidateSupported(java.security.cert.X509Certificate[] certificates)private static voidvalidateSupported(java.security.PrivateKey key, java.lang.String password)
-
-
-
Field Detail
-
SENTINEL_DESTROYED
private static final OpenSslKeyMaterialProvider.MaterialCache SENTINEL_DESTROYED
-
keyManager
private final javax.net.ssl.X509KeyManager keyManager
-
password
private final java.lang.String password
-
cache
private final java.util.concurrent.atomic.AtomicReference<OpenSslKeyMaterialProvider.MaterialCache> cache
-
-
Method Detail
-
validateKeyMaterialSupported
static void validateKeyMaterialSupported(java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
validateSupported
private static void validateSupported(java.security.PrivateKey key, java.lang.String password) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
validateSupported
private static void validateSupported(java.security.cert.X509Certificate[] certificates) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
keyManager
javax.net.ssl.X509KeyManager keyManager()
Returns the underlyingX509KeyManagerthat is used.
-
chooseKeyMaterial
OpenSslKeyMaterial chooseKeyMaterial(ByteBufAllocator allocator, java.lang.String alias) throws java.lang.Exception
Returns theOpenSslKeyMaterialornull(if none) that should be used during the handshake by OpenSSL.- Throws:
java.lang.Exception
-
createKeyMaterial
private OpenSslKeyMaterial createKeyMaterial(ByteBufAllocator allocator, java.security.cert.X509Certificate[] certificates, java.security.PrivateKey key) throws java.lang.Exception
- Throws:
java.lang.Exception
-
destroy
void destroy()
Will be invoked once the provider should be destroyed.
-
destroyCache
private void destroyCache()
-
-