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

public Class TrustManagerFactory

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

This class acts as a factory for trust managers based on a source of trust material. Each trust manager manages a specific type of trust material for use by secure sockets. The trust material is based on a KeyStore and/or provider-specific sources.

Every implementation of the Java platform is required to support the following standard TrustManagerFactory algorithm:

This algorithm is described in the TrustManagerFactory section of the Java Security Standard Algorithm Names Specification. Consult the release documentation for your implementation to see if any other algorithms are supported.
Since
1.4
External Specification
Java Security Standard Algorithm Names
See Also
TrustManager

Field Summary

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

Constructor Summary

AccessConstructor and Description
protected
TrustManagerFactory(TrustManagerFactorySpi
the delegate
factorySpi
,
Provider
the provider
provider
,
String
the algorithm
algorithm
)

Creates a TrustManagerFactory object.

Method Summary

Modifier and TypeMethod and Description
public final String

Returns:

the algorithm name of this TrustManagerFactory object
getAlgorithm
()

Returns the algorithm name of this TrustManagerFactory object.

public static final String

Returns:

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

Obtains the default TrustManagerFactory algorithm name.

public static final TrustManagerFactory

Returns:

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

Returns a TrustManagerFactory object that acts as a factory for trust managers.

public static final TrustManagerFactory

Returns:

the new TrustManagerFactory object
getInstance
(String
the standard name of the requested trust management algorithm. See the TrustManagerFactory 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 TrustManagerFactory object that acts as a factory for trust managers.

public static final TrustManagerFactory

Returns:

the new TrustManagerFactory object
getInstance
(String
the standard name of the requested trust management algorithm. See the TrustManagerFactory 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 TrustManagerFactory object that acts as a factory for trust managers.

public final Provider

Returns:

the provider of this TrustManagerFactory object
getProvider
()

Returns the provider of this TrustManagerFactory object.

public final TrustManager[]

Returns:

the trust managers
getTrustManagers
()

Returns one trust manager for each type of trust material.

public final void
init(KeyStore
the key store, or null
ks
)

Initializes this factory with a source of certificate authorities and related trust material.

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

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

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

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

Constructor Detail

TrustManagerFactoryback to summary
protected TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)

Creates a TrustManagerFactory object.

Parameters
factorySpi:TrustManagerFactorySpi

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 TrustManagerFactory object.

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

Returns:String

the algorithm name of this TrustManagerFactory object

getDefaultAlgorithmback to summary
public static final String getDefaultAlgorithm()

Obtains the default TrustManagerFactory algorithm name.

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

Returns:String

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

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

Returns a TrustManagerFactory object that acts as a factory for trust managers.

This method traverses the list of registered security Providers, starting with the most preferred Provider. A new TrustManagerFactory object encapsulating the TrustManagerFactorySpi 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 trust management algorithm. See the TrustManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

Returns:TrustManagerFactory

the new TrustManagerFactory object

Exceptions
NoSuchAlgorithmException:
if no Provider supports a TrustManagerFactorySpi 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 TrustManagerFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException

Returns a TrustManagerFactory object that acts as a factory for trust 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 trust management algorithm. See the TrustManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

provider:String

the name of the provider.

Returns:TrustManagerFactory

the new TrustManagerFactory object

Exceptions
NoSuchAlgorithmException:
if a TrustManagerFactorySpi 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 TrustManagerFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException

Returns a TrustManagerFactory object that acts as a factory for trust managers.

A new TrustManagerFactory object encapsulating the TrustManagerFactorySpi 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 trust management algorithm. See the TrustManagerFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.

provider:Provider

an instance of the provider.

Returns:TrustManagerFactory

the new TrustManagerFactory object

Exceptions
NoSuchAlgorithmException:
if a TrustManagerFactorySpi implementation for the specified algorithm is not available from the specified Provider object
IllegalArgumentException:
if the provider is null
NullPointerException:
if algorithm is null
External Specification
Java Security Standard Algorithm Names
See Also
java.security.Provider
getProviderback to summary
public final Provider getProvider()

Returns the provider of this TrustManagerFactory object.

Returns:Provider

the provider of this TrustManagerFactory object

getTrustManagersback to summary
public final TrustManager[] getTrustManagers()

Returns one trust manager for each type of trust material.

Returns:TrustManager[]

the trust managers

Exceptions
IllegalStateException:
if the factory is not initialized.
initback to summary
public final void init(KeyStore ks) throws KeyStoreException

Initializes this factory with a source of certificate authorities and related trust material.

The provider typically uses a KeyStore as a basis for making trust decisions.

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

Parameters
ks:KeyStore

the key store, or null

Exceptions
KeyStoreException:
if this operation fails
initback to summary
public final void init(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException

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

In some cases, initialization parameters other than a keystore 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