org.opends.server.api
Class TrustManagerProvider<T extends TrustManagerProviderCfg>

java.lang.Object
  extended by org.opends.server.api.TrustManagerProvider<T>
Type Parameters:
T - The type of trust manager provider configuration handled by this trust manager provider implementation.
Direct Known Subclasses:
BlindTrustManagerProvider, FileBasedTrustManagerProvider, NullTrustManagerProvider

@PublicAPI(stability=VOLATILE,
           mayInstantiate=false,
           mayExtend=true,
           mayInvoke=true)
public abstract class TrustManagerProvider<T extends TrustManagerProviderCfg>
extends java.lang.Object

This class defines an API that may be used to obtain a set of javax.net.ssl.TrustManager objects for use when performing SSL/StartTLS negotiation.


Constructor Summary
TrustManagerProvider()
           
 
Method Summary
abstract  void finalizeTrustManagerProvider()
          Performs any finalization that may be necessary for this trust manager provider.
abstract  javax.net.ssl.TrustManager[] getTrustManagers()
          Retrieves a set of TrustManager objects that may be used for interactions requiring access to a trust manager.
abstract  void initializeTrustManagerProvider(T configuration)
          Initializes this trust manager provider based on the information in the provided configuration entry.
 boolean isConfigurationAcceptable(TrustManagerProviderCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the provided configuration is acceptable for this trust manager provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TrustManagerProvider

public TrustManagerProvider()
Method Detail

initializeTrustManagerProvider

public abstract void initializeTrustManagerProvider(T configuration)
                                             throws ConfigException,
                                                    InitializationException
Initializes this trust manager provider based on the information in the provided configuration entry.

Parameters:
configuration - The configuration to use for this trust manager provider.
Throws:
ConfigException - If an unrecoverable problem arises in the process of performing the initialization as a result of the server configuration.
InitializationException - If a problem occurs during initialization that is not related to the server configuration.

isConfigurationAcceptable

public boolean isConfigurationAcceptable(TrustManagerProviderCfg configuration,
                                         java.util.List<Message> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this trust manager provider. It should be possible to call this method on an uninitialized trust manager provider instance in order to determine whether the trust manager provider would be able to use the provided configuration.

Note that implementations which use a subclass of the provided configuration class will likely need to cast the configuration to the appropriate subclass type.

Parameters:
configuration - The trust manager provider configuration for which to make the determination.
unacceptableReasons - A list that may be used to hold the reasons that the provided configuration is not acceptable.
Returns:
true if the provided configuration is acceptable for this trust manager provider, or false if not.

finalizeTrustManagerProvider

public abstract void finalizeTrustManagerProvider()
Performs any finalization that may be necessary for this trust manager provider.


getTrustManagers

public abstract javax.net.ssl.TrustManager[] getTrustManagers()
                                                       throws DirectoryException
Retrieves a set of TrustManager objects that may be used for interactions requiring access to a trust manager.

Returns:
A set of TrustManager objects that may be used for interactions requiring access to a trust manager.
Throws:
DirectoryException - If a problem occurs while attempting to obtain the set of trust managers.