org.apache.tomcat.util.net

## Interface SSLSupport

    public interface SSLSupport

Defines an interface to interact with SSL sessions.

### Nested Class Summary

Nested Classes
`static class` `SSLSupport.CipherData` Simple data class that represents the cipher being used, along with the corresponding effective key size.

### Field Summary

Fields
`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` `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
`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` `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

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