compact1, compact2, compact3
javax.net.ssl

## Class TrustManagerFactorySpi

- java.lang.Object
- - javax.net.ssl.TrustManagerFactorySpi

    public abstract class TrustManagerFactorySpi
    extends Object

This class defines the Service Provider Interface (SPI) for the `TrustManagerFactory` 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 trust manager factory.

Since:
  1.4
See Also:
  `TrustManagerFactory`, `TrustManager`

### Constructor Summary

Constructors
Constructor and Description
`TrustManagerFactorySpi()`

### Method Summary

All Methods Instance Methods Abstract Methods
`protected abstract TrustManager[]` `engineGetTrustManagers()` Returns one trust manager for each type of trust material.
`protected abstract void` `engineInit(KeyStore ks)` Initializes this factory with a source of certificate authorities and related trust material.
`protected abstract void` `engineInit(ManagerFactoryParameters spec)` Initializes this factory with a source of provider-specific key material.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TrustManagerFactorySpi

    public TrustManagerFactorySpi()

### Method Detail

#### engineInit

    protected abstract void engineInit(KeyStore ks)
                                throws KeyStoreException

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

Parameters:
  `ks` - the key store or null
Throws:
  `KeyStoreException` - if this operation fails
See Also:
  `TrustManagerFactory.init(KeyStore)`

#### engineInit

    protected abstract void engineInit(ManagerFactoryParameters spec)
                                throws InvalidAlgorithmParameterException

Initializes this factory with a source of provider-specific key 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` - an implementation of a provider-specific parameter specification
Throws:
  `InvalidAlgorithmParameterException` - if there is problem with the parameters
See Also:
  `TrustManagerFactory.init(ManagerFactoryParameters spec)`

#### engineGetTrustManagers

    protected abstract TrustManager[] engineGetTrustManagers()

Returns one trust manager for each type of trust material.

Returns:
  the trust managers
Throws:
  `IllegalStateException` - if the factory is not initialized.