Package org.opends.server.extensions
Class PKCS11KeyManagerProvider
- java.lang.Object
-
- org.opends.server.api.KeyManagerProvider<Pkcs11KeyManagerProviderCfg>
-
- org.opends.server.extensions.PKCS11KeyManagerProvider
-
- All Implemented Interfaces:
ConfigurationChangeListener<Pkcs11KeyManagerProviderCfg>
public final class PKCS11KeyManagerProvider extends KeyManagerProvider<Pkcs11KeyManagerProviderCfg> implements ConfigurationChangeListener<Pkcs11KeyManagerProviderCfg>
This class defines a key manager provider that will access keys stored on a PKCS#11 device. It will use the Java PKCS#11 interface, which may need to be configured on the underlying system.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.opends.server.api.KeyManagerProvider
KeyManagerProvider.CertificateMonitor
-
-
Constructor Summary
Constructors Constructor Description PKCS11KeyManagerProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResultapplyConfigurationChange(Pkcs11KeyManagerProviderCfg configuration)Applies the configuration changes to this change listener.protected voidfinalizeKeyManagerProviderImpl()Performs any other finalization actions that may be necessary by this key manager provider implementation.KeyManager[]getKeyManagers()Retrieves a set ofKeyManagerobjects that may be used for interactions requiring access to a key manager.KeyStoregetKeyStore()Returns the keystore used by this key manager provider.protected voidinitializeKeyManagerProvider(Pkcs11KeyManagerProviderCfg configuration)Initializes this key manager provider based on the information in the provided key manager provider configuration.booleanisConfigurationAcceptable(Pkcs11KeyManagerProviderCfg configuration, List<LocalizableMessage> unacceptableReasons)Indicates whether the provided configuration is acceptable for this key manager provider.booleanisConfigurationChangeAcceptable(Pkcs11KeyManagerProviderCfg configuration, List<LocalizableMessage> unacceptableReasons)Indicates whether the proposed change to the configuration is acceptable to this change listener.-
Methods inherited from class org.opends.server.api.KeyManagerProvider
containsAtLeastOneKey, finalizeKeyManagerProvider, getConfig, getName, getServerContext, initializeKeyManagerProvider, registerCertificateMonitorEntries, setConfig, toString
-
-
-
-
Method Detail
-
initializeKeyManagerProvider
protected void initializeKeyManagerProvider(Pkcs11KeyManagerProviderCfg configuration) throws InitializationException
Description copied from class:KeyManagerProviderInitializes this key manager provider based on the information in the provided key manager provider configuration.- Specified by:
initializeKeyManagerProviderin classKeyManagerProvider<Pkcs11KeyManagerProviderCfg>- Parameters:
configuration- The key manager provider configuration that contains the information to use to initialize this key manager provider.- Throws:
InitializationException- If a problem occurs during initialization that is not related to the server configuration.
-
finalizeKeyManagerProviderImpl
protected void finalizeKeyManagerProviderImpl()
Description copied from class:KeyManagerProviderPerforms any other finalization actions that may be necessary by this key manager provider implementation.- Specified by:
finalizeKeyManagerProviderImplin classKeyManagerProvider<Pkcs11KeyManagerProviderCfg>
-
getKeyManagers
public KeyManager[] getKeyManagers() throws LdapException
Description copied from class:KeyManagerProviderRetrieves a set ofKeyManagerobjects that may be used for interactions requiring access to a key manager.- Specified by:
getKeyManagersin classKeyManagerProvider<Pkcs11KeyManagerProviderCfg>- Returns:
- A set of
KeyManagerobjects 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.
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(Pkcs11KeyManagerProviderCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from class:KeyManagerProviderIndicates 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.- Overrides:
isConfigurationAcceptablein classKeyManagerProvider<Pkcs11KeyManagerProviderCfg>- 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:
trueif the provided configuration is acceptable for this key manager provider, orfalseif not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(Pkcs11KeyManagerProviderCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:ConfigurationChangeListenerIndicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptablein interfaceConfigurationChangeListener<Pkcs11KeyManagerProviderCfg>- Parameters:
configuration- The new configuration containing the changes.unacceptableReasons- A list that can be used to hold messages about why the provided configuration is not acceptable.- Returns:
- Returns
trueif the proposed change is acceptable, orfalseif it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(Pkcs11KeyManagerProviderCfg configuration)
Description copied from interface:ConfigurationChangeListenerApplies the configuration changes to this change listener.- Specified by:
applyConfigurationChangein interfaceConfigurationChangeListener<Pkcs11KeyManagerProviderCfg>- Parameters:
configuration- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
getKeyStore
public KeyStore getKeyStore() throws LdapException
Description copied from class:KeyManagerProviderReturns the keystore used by this key manager provider.- Specified by:
getKeyStorein classKeyManagerProvider<Pkcs11KeyManagerProviderCfg>- Returns:
- The
KeyStoreused by this key manager provider. - Throws:
LdapException- If a problem occurs while attempting to retrieve the keystore.
-
-