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
ks
- the key store or nullpassword
- the password for recovering keysKeyStoreException
- if this operation failsNoSuchAlgorithmException
- if the specified algorithm is not
available from the specified provider.UnrecoverableKeyException
- if the key cannot be recoveredKeyManagerFactory.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.
spec
- an implementation of a provider-specific parameter
specificationInvalidAlgorithmParameterException
- if there is problem
with the parametersKeyManagerFactory.init(ManagerFactoryParameters spec)
protected abstract KeyManager[] engineGetKeyManagers()
IllegalStateException
- if the KeyManagerFactorySpi is not initialized Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.