com.sun.net.ssl
Class KeyManagerFactory

java.lang.Object
  |
  +--com.sun.net.ssl.KeyManagerFactory

public class KeyManagerFactory
extends Object

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.


Constructor Summary
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
          Creates a KeyManagerFactory object.
 
Method Summary
 String getAlgorithm()
          Returns the algorithm name of this KeyManagerFactory object.
static String getDefaultAlgorithm()
          The default KeyManager can be changed by setting the value of the "sun.ssl.keymanager.type" security property (in the Java security properties file) to the desired name.
static KeyManagerFactory getInstance(String algorithm)
          Generates a KeyManagerFactory object that implements the specified key management algorithm.
static KeyManagerFactory getInstance(String algorithm, Provider provider)
          Generates a KeyManagerFactory object for the specified key management algorithm from the specified provider.
static KeyManagerFactory getInstance(String algorithm, String provider)
          Generates a KeyManagerFactory object for the specified key management algorithm from the specified provider.
 KeyManager[] getKeyManagers()
          Returns one key manager for each type of key material.
 Provider getProvider()
          Returns the provider of this KeyManagerFactory object.
 void init(KeyStore ks, char[] password)
          Initializes this factory with a source of key material.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyManagerFactory

protected KeyManagerFactory(KeyManagerFactorySpi factorySpi,
                            Provider provider,
                            String algorithm)
Creates a KeyManagerFactory object.
Parameters:
factorySpi - the delegate
provider - the provider
algorithm - the algorithm
Method Detail

getDefaultAlgorithm

public static final String getDefaultAlgorithm()

The default KeyManager can be changed by setting the value of the "sun.ssl.keymanager.type" security property (in the Java security properties file) to the desired name.

Returns:
the default type as specified in the Java security properties file, or an implementation-specific default if no such property exists.

getAlgorithm

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:
the algorithm name of this KeyManagerFactory object.

getInstance

public static final KeyManagerFactory getInstance(String algorithm)
                                           throws NoSuchAlgorithmException
Generates a KeyManagerFactory object that implements the specified key management algorithm. If the default provider package provides an implementation of the requested key management algorithm, an instance of KeyManagerFactory containing that implementation is returned. If the algorithm is not available in the default provider package, other provider packages are searched.
Parameters:
algorithm - the standard name of the requested algorithm.
Returns:
the new KeyManagerFactory object
Throws:
NoSuchAlgorithmException - if the specified algorithm is not available in the default provider package or any of the other provider packages that were searched.

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  String provider)
                                           throws NoSuchAlgorithmException,
                                                  NoSuchProviderException
Generates a KeyManagerFactory object for the specified key management algorithm from the specified provider.
Parameters:
algorithm - the standard name of the requested algorithm.
provider - the name of the provider
Returns:
the new KeyManagerFactory object
Throws:
NoSuchAlgorithmException - if the specified algorithm is not available from the specified provider.
NoSuchProviderException - if the specified provider has not been configured.

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  Provider provider)
                                           throws NoSuchAlgorithmException
Generates a KeyManagerFactory object for the specified key management algorithm from the specified provider.
Parameters:
algorithm - the standard name of the requested algorithm.
provider - an instance of the provider
Returns:
the new KeyManagerFactory object
Throws:
NoSuchAlgorithmException - if the specified algorithm is not available from the specified provider.

getProvider

public final Provider getProvider()
Returns the provider of this KeyManagerFactory object.
Returns:
the provider of this KeyManagerFactory object

init

public void init(KeyStore ks,
                 char[] password)
          throws KeyStoreException,
                 NoSuchAlgorithmException,
                 UnrecoverableKeyException
Initializes this factory with a source of key material. The provider may also include a provider-specific source of key material.
Parameters:
ks - the key store or null
password - the password for recovering keys

getKeyManagers

public KeyManager[] getKeyManagers()
Returns one key manager for each type of key material.
Returns:
the key managers