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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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)` Deprecated. This will be removed in Tomcat 10.1.x onwards. Use `getSSLSupport(SSLSession, Map)`.
    `SSLSupport` | `getSSLSupport(SSLSession session, Map<String,List<String>> additionalAttributes)` Obtain an instance of SSLSupport.
    `abstract SSLUtil` | `getSSLUtil(SSLHostConfigCertificate certificate)`
    `abstract boolean` | `isAlpnSupported()`

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

    - #### getSSLSupport

          @Deprecated
          public abstract SSLSupport getSSLSupport(SSLSession session)

      Deprecated. This will be removed in Tomcat 10.1.x onwards. Use `getSSLSupport(SSLSession, Map)`.
      Obtain an instance of SSLSupport.
      Parameters:
        `session` - The TLS session
      Returns:
        An instance of SSLSupport based on the given session.

    - #### getSSLUtil

          public abstract SSLUtil getSSLUtil(SSLHostConfigCertificate certificate)

    - #### isAlpnSupported

          public abstract boolean isAlpnSupported()

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.