Class SSLImplementation

  • Direct Known Subclasses:
    JSSEImplementation, OpenSSLImplementation

    public abstract class SSLImplementation
    extends java.lang.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 Detail

      • SSLImplementation

        public SSLImplementation()
    • Method Detail

      • getInstance

        public static SSLImplementation getInstance​(java.lang.String className)
                                             throws java.lang.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:
        java.lang.ClassNotFoundException - If an instance of the requested class cannot be created
      • getSSLSupport

        public SSLSupport getSSLSupport​(javax.net.ssl.SSLSession session,
                                        java.util.Map<java.lang.String,​java.util.List<java.lang.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​(javax.net.ssl.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.
      • isAlpnSupported

        public abstract boolean isAlpnSupported()