APIdia Launch Partner
Top Description Fields Constructors Methods
javax.net.ssl

public Class KeyManagerFactory

extends Object
Class Inheritance
Imports
java.security.*, java.util.Objects, sun.security.jca.GetInstance

This class acts as a factory for key managers based on a source of key material. Each key manager manages a specific type of key material for use by secure sockets. The key material is based on a KeyStore and/or provider specific sources.
Since
1.4
See Also
KeyManager

Field Summary

Modifier and TypeField and Description
private final String
private final KeyManagerFactorySpi
private final Provider

Constructor Summary

AccessConstructor and Description
protected
KeyManagerFactory(KeyManagerFactorySpi
the delegate
factorySpi
,
Provider
the provider
provider
,
String
the algorithm
algorithm
)

Creates a KeyManagerFactory object.

Method Summary

Modifier and TypeMethod and Description
public final String

Returns:

the algorithm name of this KeyManagerFactory object.
getAlgorithm
()

Returns the algorithm name of this KeyManagerFactory object.

public static final String

Returns:

the default algorithm name as specified by the ssl.KeyManagerFactory.algorithm security property, or an implementation-specific default if no such property exists.
getDefaultAlgorithm
()

Obtains the default KeyManagerFactory algorithm name.

public static final KeyManagerFactory

Returns:

the new KeyManagerFactory object
getInstance
(String
the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.
algorithm
)

Returns a KeyManagerFactory object that acts as a factory for key managers.

public static final KeyManagerFactory

Returns:

the new KeyManagerFactory object
getInstance
(String
the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.
algorithm
,
String
the name of the provider.
provider
)

Returns a KeyManagerFactory object that acts as a factory for key managers.

public static final KeyManagerFactory

Returns:

the new KeyManagerFactory object
getInstance
(String
the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.
algorithm
,
Provider
an instance of the provider.
provider
)

Returns a KeyManagerFactory object that acts as a factory for key managers.

public final KeyManager[]

Returns:

the key managers
getKeyManagers
()

Returns one key manager for each type of key material.

public final Provider

Returns:

the provider of this KeyManagerFactory object
getProvider
()

Returns the provider of this KeyManagerFactory object.

public final void
init(KeyStore
the key store or null
ks
,
char[]
the password for recovering keys in the KeyStore
password
)

Initializes this factory with a source of key material.

public final void
init(ManagerFactoryParameters
an implementation of a provider-specific parameter specification
spec
)

Initializes this factory with a source of provider-specific key material.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

algorithmback to summary
private final String algorithm
factorySpiback to summary
private final KeyManagerFactorySpi factorySpi
providerback to summary
private final Provider provider

Constructor Detail

KeyManagerFactoryback to summary
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)

Creates a KeyManagerFactory object.

Parameters
factorySpi:KeyManagerFactorySpi

the delegate

provider:Provider

the provider

algorithm:String

the algorithm

Method Detail

getAlgorithmback to summary
public final String getAlgorithm()

Returns the algorithm name of this KeyManagerFactory object.

This is the same name that was specified in one of the getInstance calls that created this KeyManagerFactory object.

Returns:String

the algorithm name of this KeyManagerFactory object.

getDefaultAlgorithmback to summary
public static final String getDefaultAlgorithm()

Obtains the default KeyManagerFactory algorithm name.

The default algorithm can be changed at runtime by setting the value of the ssl.KeyManagerFactory.algorithm security property to the desired algorithm name.

Returns:String

the default algorithm name as specified by the ssl.KeyManagerFactory.algorithm security property, or an implementation-specific default if no such property exists.

See Also
security properties
getInstanceback to summary
public static final KeyManagerFactory getInstance(String algorithm) throws NoSuchAlgorithmException

Returns a KeyManagerFactory object that acts as a factory for key managers.

This method traverses the list of registered security Providers, starting with the most preferred Provider. A new KeyManagerFactory object encapsulating the KeyManagerFactorySpi implementation from the first Provider that supports the specified algorithm is returned.

Note that the list of registered providers may be retrieved via the Security.getProviders() method.

Implementation Note

The JDK Reference Implementation additionally uses the jdk.security.provider.preferred Security property to determine the preferred provider order for the specified algorithm. This may be different from the order of providers returned by Security.getProviders().

Parameters
algorithm:String

the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

Returns:KeyManagerFactory

the new KeyManagerFactory object

Exceptions
NoSuchAlgorithmException:
if no Provider supports a KeyManagerFactorySpi implementation for the specified algorithm
NullPointerException:
if algorithm is null
External Specification
Java Security Standard Algorithm Names
See Also
java.security.Provider
getInstanceback to summary
public static final KeyManagerFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException

Returns a KeyManagerFactory object that acts as a factory for key managers.

A new KeyManagerFactory object encapsulating the KeyManagerFactorySpi implementation from the specified provider is returned. The specified provider must be registered in the security provider list.

Note that the list of registered providers may be retrieved via the Security.getProviders() method.

Parameters
algorithm:String

the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

provider:String

the name of the provider.

Returns:KeyManagerFactory

the new KeyManagerFactory object

Exceptions
NoSuchAlgorithmException:
if a KeyManagerFactorySpi implementation for the specified algorithm is not available from the specified provider
NoSuchProviderException:
if the specified provider is not registered in the security provider list
IllegalArgumentException:
if the provider name is null or empty
NullPointerException:
if algorithm is null
External Specification
Java Security Standard Algorithm Names
See Also
java.security.Provider
getInstanceback to summary
public static final KeyManagerFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException

Returns a KeyManagerFactory object that acts as a factory for key managers.

A new KeyManagerFactory object encapsulating the KeyManagerFactorySpi implementation from the specified Provider object is returned. Note that the specified Provider object does not have to be registered in the provider list.

Parameters
algorithm:String

the standard name of the requested algorithm. See the KeyManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

provider:Provider

an instance of the provider.

Returns:KeyManagerFactory

the new KeyManagerFactory object

Exceptions
NoSuchAlgorithmException:
if a @KeyManagerFactorySpi implementation for the specified algorithm is not available from the specified Provider object
IllegalArgumentException:
if provider is null
NullPointerException:
if algorithm is null
External Specification
Java Security Standard Algorithm Names
See Also
java.security.Provider
getKeyManagersback to summary
public final KeyManager[] getKeyManagers()

Returns one key manager for each type of key material.

Returns:KeyManager[]

the key managers

Exceptions
IllegalStateException:
if the KeyManagerFactory is not initialized
getProviderback to summary
public final Provider getProvider()

Returns the provider of this KeyManagerFactory object.

Returns:Provider

the provider of this KeyManagerFactory object

initback to summary
public final void init(KeyStore ks, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException

Initializes this factory with a source of key material.

The provider typically uses a KeyStore for obtaining key material for use during secure socket negotiations. The KeyStore is generally password-protected.

For more flexible initialization, please see init(ManagerFactoryParameters).

Parameters
ks:KeyStore

the key store or null

password:char[]

the password for recovering keys in the KeyStore

Exceptions
KeyStoreException:
if this operation fails
NoSuchAlgorithmException:
if the specified algorithm is not available from the specified provider.
UnrecoverableKeyException:
if the key cannot be recovered (e.g. the given password is wrong).
initback to summary
public final void init(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException

Initializes this factory with a source of provider-specific 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.

Parameters
spec:ManagerFactoryParameters

an implementation of a provider-specific parameter specification

Exceptions
InvalidAlgorithmParameterException:
if an error is encountered