org.apache.tomcat.util.net

## Interface SSLSupport

-     public interface SSLSupport

  Defines an interface to interact with SSL sessions.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `SSLSupport.CipherData` Simple data class that represents the cipher being used, along with the corresponding effective key size.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `CERTIFICATE_KEY` The Request attribute key for the client certificate chain.
    `static String` | `CIPHER_SUITE_KEY` The Request attribute key for the cipher suite.
    `static SSLSupport.CipherData[]` | `ciphers` A mapping table to determine the number of effective bits in the key when using a cipher suite containing the specified cipher name.
    `static String` | `KEY_SIZE_KEY` The Request attribute key for the key size.
    `static String` | `PROTOCOL_VERSION_KEY` The request attribute key under which the String indicating the protocol that created the SSL socket is recorded - e.g.
    `static String` | `SESSION_ID_KEY` The Request attribute key for the session id.
    `static String` | `SESSION_MGR` The request attribute key for the session manager.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCipherSuite()` The cipher suite being used on this connection.
    `Integer` | `getKeySize()` Get the keysize.
    `Object[]` | `getPeerCertificateChain()` The client certificate chain (if any).
    `Object[]` | `getPeerCertificateChain(boolean force)` The client certificate chain (if any).
    `String` | `getProtocol()`
    `String` | `getSessionId()` The current session Id.

- - ### Field Detail

    - #### CIPHER_SUITE_KEY

          static final String CIPHER_SUITE_KEY

      The Request attribute key for the cipher suite.
      See Also:
        Constant Field Values

    - #### KEY_SIZE_KEY

          static final String KEY_SIZE_KEY

      The Request attribute key for the key size.
      See Also:
        Constant Field Values

    - #### CERTIFICATE_KEY

          static final String CERTIFICATE_KEY

      The Request attribute key for the client certificate chain.
      See Also:
        Constant Field Values

    - #### SESSION_ID_KEY

          static final String SESSION_ID_KEY

      The Request attribute key for the session id. This one is a Tomcat extension to the Servlet spec.
      See Also:
        Constant Field Values

    - #### SESSION_MGR

          static final String SESSION_MGR

      The request attribute key for the session manager. This one is a Tomcat extension to the Servlet spec.
      See Also:
        Constant Field Values

    - #### PROTOCOL_VERSION_KEY

          static final String PROTOCOL_VERSION_KEY

      The request attribute key under which the String indicating the protocol that created the SSL socket is recorded - e.g. TLSv1 or TLSv1.2 etc.
      See Also:
        Constant Field Values

    - #### ciphers

          static final SSLSupport.CipherData[] ciphers

      A mapping table to determine the number of effective bits in the key when using a cipher suite containing the specified cipher name. The underlying data came from the TLS Specification (RFC 2246), Appendix C.

  - ### Method Detail

    - #### getCipherSuite

          String getCipherSuite()
                                throws IOException

      The cipher suite being used on this connection.
      Throws:
        `IOException`

    - #### getPeerCertificateChain

          Object[] getPeerCertificateChain()
                                           throws IOException

      The client certificate chain (if any).
      Throws:
        `IOException`

    - #### getPeerCertificateChain

          Object[] getPeerCertificateChain(boolean force)
                                           throws IOException

      The client certificate chain (if any).
      Parameters:
        `force` - If `true`, then re-negotiate the connection if necessary.
      Throws:
        `IOException`

    - #### getKeySize

          Integer getKeySize()
                             throws IOException

      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.
      Throws:
        `IOException`

    - #### getSessionId

          String getSessionId()
                              throws IOException

      The current session Id.
      Throws:
        `IOException`

    - #### getProtocol

          String getProtocol()
                             throws IOException

      Returns:
        the protocol String indicating how the SSL socket was created e.g. TLSv1 or TLSv1.2 etc.
      Throws:
        `IOException`

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