Package org.opends.server.api
Class KeyManagerProvider<T extends KeyManagerProviderCfg>
java.lang.Object
org.opends.server.api.KeyManagerProvider<T>
- Type Parameters:
T
- The type of key manager provider configuration handled by this key manager provider implementation.
- Direct Known Subclasses:
FileBasedKeyManagerProvider
,JvmKeyManagerProvider
,LDAPKeyManagerProvider
,PemKeyManagerProvider
,PKCS11KeyManagerProvider
This class defines an API that may be used to obtain a set of
javax.net.ssl.KeyManager
objects for use when
performing SSL communication.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
This class implements a monitor provider that will report alias name and expiry date for each X509 certificate associated to a key manager provider. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Verifies that the keystore has at least one usable key.final void
Deregister certificate monitor entries associated to this key manager provider from the server and performs any other finalization that may be necessary.protected abstract void
Performs any other finalization actions that may be necessary by this key manager provider implementation.protected final T
Returns the configuration associated to this key manager provider.abstract KeyManager[]
Retrieves a set ofKeyManager
objects that may be used for interactions requiring access to a key manager.abstract KeyStore
Returns the keystore used by this key manager provider.protected String
getName()
Returns the name of this key manager provider to be used in certificate monitor entries.protected final ServerContext
Returns the server context.abstract void
initializeKeyManagerProvider
(T configuration) Initializes this key manager provider based on the information in the provided key manager provider configuration.boolean
isConfigurationAcceptable
(T configuration, List<LocalizableMessage> unacceptableReasons) Indicates whether the provided configuration is acceptable for this key manager provider.final void
Registers one certificate monitor entry for each X509 certificate present in this key manager provider.protected final void
Sets the configuration associated to this key manager provider.void
setServerContext
(ServerContext serverContext) Sets the server context.toString()
-
Constructor Details
-
KeyManagerProvider
public KeyManagerProvider()
-
-
Method Details
-
initializeKeyManagerProvider
public abstract void initializeKeyManagerProvider(T configuration) throws ConfigException, InitializationException Initializes this key manager provider based on the information in the provided key manager provider configuration.- Parameters:
configuration
- The key manager provider configuration that contains the information to use to initialize this key manager provider.- Throws:
ConfigException
- If an unrecoverable problem arises in the process of performing the initialization as a result of the server configuration.InitializationException
- If a problem occurs during initialization that is not related to the server configuration.
-
containsAtLeastOneKey
public boolean containsAtLeastOneKey()Verifies that the keystore has at least one usable key.- Returns:
- true if the keystore has at least one usable key, false otherwise
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(T configuration, List<LocalizableMessage> unacceptableReasons) Indicates whether the provided configuration is acceptable for this key manager provider. It should be possible to call this method on an uninitialized key manager provider instance in order to determine whether the key manager provider would be able to use the provided configuration.- Parameters:
configuration
- The key manager provider configuration for which to make the determination.unacceptableReasons
- A list that may be used to hold the reasons that the provided configuration is not acceptable.- Returns:
true
if the provided configuration is acceptable for this key manager provider, orfalse
if not.
-
finalizeKeyManagerProvider
public final void finalizeKeyManagerProvider()Deregister certificate monitor entries associated to this key manager provider from the server and performs any other finalization that may be necessary. -
finalizeKeyManagerProviderImpl
protected abstract void finalizeKeyManagerProviderImpl()Performs any other finalization actions that may be necessary by this key manager provider implementation. -
getKeyManagers
Retrieves a set ofKeyManager
objects that may be used for interactions requiring access to a key manager.- Returns:
- A set of
KeyManager
objects that may be used for interactions requiring access to a key manager. - Throws:
LdapException
- If a problem occurs while attempting to obtain the set of key managers.
-
registerCertificateMonitorEntries
public final void registerCertificateMonitorEntries()Registers one certificate monitor entry for each X509 certificate present in this key manager provider. -
getKeyStore
Returns the keystore used by this key manager provider.- Returns:
- The
KeyStore
used by this key manager provider. - Throws:
LdapException
- If a problem occurs while attempting to retrieve the keystore.
-
getServerContext
Returns the server context.- Returns:
- the server context.
-
getConfig
Returns the configuration associated to this key manager provider.- Returns:
- the configuration associated to this
KeyManagerProvider
.
-
setServerContext
Sets the server context.- Parameters:
serverContext
- the server context
-
setConfig
Sets the configuration associated to this key manager provider.- Parameters:
currentConfig
- The configuration to associate to thisKeyManagerProvider
-
getName
Returns the name of this key manager provider to be used in certificate monitor entries.Default implementation returns the name of this key manager provider configuration.
- Returns:
- A string representing the name of
KeyManagerProvider
-
toString
-