public abstract class KeyManagerFactorySpi extends Object
This class defines the Service Provider Interface (SPI) for the 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
public KeyManagerFactorySpi()
protected abstract void engineInit(KeyStore ks, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException
Initializes this factory with a source of key material.
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
Initializes this factory with a source of key material.
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()
Returns one key manager for each type of key material.
IllegalStateException
- if the KeyManagerFactorySpi is not initialized
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.