SSLImplementation (Apache Tomcat 11.0.21 API Documentation)
Description: declaration: package: org.apache.tomcat.util.net, class: SSLImplementation

# 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
  Constructor
  Description
  `SSLImplementation()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Object

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

- ## Constructor Details

  - ### SSLImplementation

    public SSLImplementation()

- ## Method Details

  - ### 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)