public abstract class KeyManagerFactorySpi extends Object
KeyManagerFactory
class.
All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular key manager factory.
KeyManagerFactory
,
KeyManager
Constructor and Description |
---|
KeyManagerFactorySpi() |
Modifier and Type | Method and Description |
---|---|
protected abstract KeyManager[] |
engineGetKeyManagers()
Returns one key manager for each type of key material.
|
protected abstract void |
engineInit(KeyStore ks,
char[] password)
Initializes this factory with a source of key material.
|
protected abstract void |
engineInit(ManagerFactoryParameters spec)
Initializes this factory with a source of key material.
|
protected abstract void engineInit(KeyStore ks, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException
KeyStoreException
- if this operation failsNoSuchAlgorithmException
- if the specified algorithm is not
available from the specified provider.UnrecoverableKeyException
- if the key cannot be recoveredks
- the key store or nullpassword
- the password for recovering keysKeyManagerFactory.init(KeyStore, char[])
protected abstract void engineInit(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException
In some cases, initialization parameters other than a keystore
and password may be needed by a provider. Users of that
particular provider are expected to pass an implementation of
the appropriate ManagerFactoryParameters
as
defined by the provider. The provider can then call the
specified methods in the ManagerFactoryParameters
implementation to obtain the needed information.
InvalidAlgorithmParameterException
- if there is problem
with the parametersspec
- an implementation of a provider-specific parameter
specificationKeyManagerFactory.init(ManagerFactoryParameters spec)
protected abstract KeyManager[] engineGetKeyManagers()
IllegalStateException
- if the KeyManagerFactorySpi is not initialized