ch.qos.logback.core.net.ssl

## Interface SSLConfigurable

All Known Implementing Classes:
  SSLConfigurableServerSocket, SSLConfigurableSocket

    public interface SSLConfigurable

An object that has configurable SSL parameters.

This interface allows us o decouple the `SSLParametersConfiguration` from `SSLSocket` and `SSLServerSocket` to facilitate unit testing.

Author:
  Carl Harris

### Method Summary

Methods
`java.lang.String[]` `getDefaultCipherSuites()` Gets the set of cipher suites that the SSL component enables by default.
`java.lang.String[]` `getDefaultProtocols()` Gets the set of protocols that the SSL component enables by default.
`java.lang.String[]` `getSupportedCipherSuites()` Gets the set of cipher suites that the SSL component supports.
`java.lang.String[]` `getSupportedProtocols()` Gets the set of protocols that the SSL component supports.
`void` `setEnabledCipherSuites(java.lang.String[] cipherSuites)` Sets the enabled cipher suites on the SSL component.
`void` `setEnabledProtocols(java.lang.String[] protocols)` Sets the enabled protocols on the SSL component.
`void` `setNeedClientAuth(boolean state)` Sets a flag indicating whether the SSL component should require client authentication.
`void` `setWantClientAuth(boolean state)` Sets a flag indicating whether the SSL component should request client authentication.

### Method Detail

#### getDefaultProtocols

    java.lang.String[] getDefaultProtocols()

Gets the set of protocols that the SSL component enables by default.

Returns:
  protocols (generally a subset of the set returned by `getSupportedProtocols()`); the return value may be an empty array but must never be `null`.

#### getSupportedProtocols

    java.lang.String[] getSupportedProtocols()

Gets the set of protocols that the SSL component supports.

Returns:
  protocols supported protocols; the return value may be an empty array but must never be `null`.

#### setEnabledProtocols

    void setEnabledProtocols(java.lang.String[] protocols)

Sets the enabled protocols on the SSL component.

Parameters:
  `cipherSuites` - the protocols to enable

#### getDefaultCipherSuites

    java.lang.String[] getDefaultCipherSuites()

Gets the set of cipher suites that the SSL component enables by default.

Returns:
  cipher suites (generally a subset of the set returned by `getSupportedCipherSuites()`); the return value may be an empty array but must never be `null`

#### getSupportedCipherSuites

    java.lang.String[] getSupportedCipherSuites()

Gets the set of cipher suites that the SSL component supports.

Returns:
  supported cipher suites; the return value may be an empty array but must never be `null`

#### setEnabledCipherSuites

    void setEnabledCipherSuites(java.lang.String[] cipherSuites)

Sets the enabled cipher suites on the SSL component.

Parameters:
  `cipherSuites` - the cipher suites to enable

#### setNeedClientAuth

    void setNeedClientAuth(boolean state)

Sets a flag indicating whether the SSL component should require client authentication.

Parameters:
  `state` - the flag state to set

#### setWantClientAuth

    void setWantClientAuth(boolean state)

Sets a flag indicating whether the SSL component should request client authentication.

Parameters:
  `state` - the flag state to set