Package org.apache.tomcat.util.net

## Class SSLImplementation

- java.lang.Object
- - org.apache.tomcat.util.net.SSLImplementation

Direct Known Subclasses:
  `JSSEImplementation`, `OpenSSLImplementation`

    public abstract class SSLImplementation
    extends Object

Provides a factory and base implementation for the Tomcat specific mechanism that allows alternative SSL/TLS implementations to be used without requiring the implementation of a full JSSE provider.

### Constructor Summary

Constructors
`SSLImplementation()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static SSLImplementation` `getInstance​(String className)` Obtain an instance (not a singleton) of the implementation with the given class name.
`abstract SSLSupport` `getSSLSupport​(SSLSession session, Map<String,​List<String>> additionalAttributes)` Obtain an instance of SSLSupport.
`abstract SSLUtil` `getSSLUtil​(SSLHostConfigCertificate certificate)`

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

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

### Constructor Detail

#### SSLImplementation

    public SSLImplementation()

### Method Detail

#### getInstance

    public static SSLImplementation getInstance​(String className)
                                         throws ClassNotFoundException

Obtain an instance (not a singleton) of the implementation with the given class name.

Parameters:
  `className` - The class name of the required implementation or null to use the default (currently `JSSEImplementation`.
Returns:
  An instance of the required implementation
Throws:
  `ClassNotFoundException` - If an instance of the requested class cannot be created

#### getSSLSupport

    public abstract SSLSupport getSSLSupport​(SSLSession session,
                                             Map<String,​List<String>> additionalAttributes)

Obtain an instance of SSLSupport.

Parameters:
  `session` - The SSL session
  `additionalAttributes` - Additional SSL attributes that are not available from the session.
Returns:
  An instance of SSLSupport based on the given session and the provided additional attributes

#### getSSLUtil

    public abstract SSLUtil getSSLUtil​(SSLHostConfigCertificate certificate)