Package org.apache.tomcat.util.net

## Class AprSSLSupport

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

- All Implemented Interfaces:
    `SSLSupport`

      @Deprecated
      public class AprSSLSupport
      extends java.lang.Object
      implements SSLSupport

  Deprecated.
  The APR/Native Connector will be removed in Tomcat 10.1.x onwards.
  Implementation of SSLSupport for APR.

  TODO: Add a mechanism (or figure out how to use what we already have) to invalidate the session.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.tomcat.util.net.SSLSupport

      `CERTIFICATE_KEY, CIPHER_SUITE_KEY, KEY_SIZE_KEY, PROTOCOL_VERSION_KEY, REQUESTED_CIPHERS_KEY, REQUESTED_PROTOCOL_VERSIONS_KEY, SESSION_ID_KEY, SESSION_MGR`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AprSSLSupport​(AprEndpoint.AprSocketWrapper socketWrapper, java.lang.String clientCertProvider)` | Deprecated.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getCipherSuite()` | Deprecated. The cipher suite being used on this connection.
    `java.lang.Integer` | `getKeySize()` | Deprecated. Get the keysize.
    `java.security.cert.X509Certificate[]` | `getPeerCertificateChain()` | Deprecated. The client certificate chain (if any).
    `java.lang.String` | `getProtocol()` | Deprecated.
    `java.lang.String` | `getRequestedCiphers()` | Deprecated.
    `java.lang.String` | `getRequestedProtocols()` | Deprecated.
    `java.lang.String` | `getSessionId()` | Deprecated. The current session Id.

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

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

- - ### Constructor Detail

    - #### AprSSLSupport

          public AprSSLSupport​(AprEndpoint.AprSocketWrapper socketWrapper,
                               java.lang.String clientCertProvider)

      Deprecated.

  - ### Method Detail

    - #### getCipherSuite

          public java.lang.String getCipherSuite()
                                          throws java.io.IOException

      Deprecated.
      Description copied from interface: `SSLSupport`
      The cipher suite being used on this connection.
      Specified by:
        `getCipherSuite` in interface `SSLSupport`
      Returns:
        The name of the cipher suite as returned by the SSL/TLS implementation
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the cipher suite

    - #### getPeerCertificateChain

          public java.security.cert.X509Certificate[] getPeerCertificateChain()
                                                                       throws java.io.IOException

      Deprecated.
      Description copied from interface: `SSLSupport`
      The client certificate chain (if any).
      Specified by:
        `getPeerCertificateChain` in interface `SSLSupport`
      Returns:
        The certificate chain presented by the client with the peer's certificate first, followed by those of any certificate authorities
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the certificate chain

    - #### getKeySize

          public java.lang.Integer getKeySize()
                                       throws java.io.IOException

      Deprecated.
      Description copied from interface: `SSLSupport`
      Get the keysize. What we're supposed to put here is ill-defined by the Servlet spec (S 4.7 again). There are at least 4 potential values that might go here: (a) The size of the encryption key (b) The size of the MAC key (c) The size of the key-exchange key (d) The size of the signature key used by the server Unfortunately, all of these values are nonsensical.
      Specified by:
        `getKeySize` in interface `SSLSupport`
      Returns:
        The effective key size for the current cipher suite
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the key size

    - #### getSessionId

          public java.lang.String getSessionId()
                                        throws java.io.IOException

      Deprecated.
      Description copied from interface: `SSLSupport`
      The current session Id.
      Specified by:
        `getSessionId` in interface `SSLSupport`
      Returns:
        The current SSL/TLS session ID
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the session ID

    - #### getProtocol

          public java.lang.String getProtocol()
                                       throws java.io.IOException

      Deprecated.
      Specified by:
        `getProtocol` in interface `SSLSupport`
      Returns:
        the protocol String indicating how the SSL socket was created e.g. TLSv1 or TLSv1.2 etc.
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the protocol information from the socket

    - #### getRequestedProtocols

          public java.lang.String getRequestedProtocols()
                                                 throws java.io.IOException

      Deprecated.
      Specified by:
        `getRequestedProtocols` in interface `SSLSupport`
      Returns:
        the list of SSL/TLS protocol versions requested by the client
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the client requested protocol information from the socket

    - #### getRequestedCiphers

          public java.lang.String getRequestedCiphers()
                                               throws java.io.IOException

      Deprecated.
      Specified by:
        `getRequestedCiphers` in interface `SSLSupport`
      Returns:
        the list of SSL/TLS ciphers requested by the client
      Throws:
        `java.io.IOException` - If an error occurs trying to obtain the client request cipher information from the socket