Package 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, Bruno Harbulot

## Method Summary

Modifier and Type
Method
Description
`String[]`
`getDefaultCipherSuites()`
Gets the set of cipher suites that the SSL component enables by default.
`String[]`
`getDefaultProtocols()`
Gets the set of protocols that the SSL component enables by default.
`String[]`
`getSupportedCipherSuites()`
Gets the set of cipher suites that the SSL component supports.
`String[]`
`getSupportedProtocols()`
Gets the set of protocols that the SSL component supports.
`void`
`setEnabledCipherSuites(String[] cipherSuites)`
Sets the enabled cipher suites on the SSL component.
`void`
`setEnabledProtocols(String[] protocols)`
Sets the enabled protocols on the SSL component.
`void`
`setHostnameVerification(boolean verifyHostname)`
`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 Details

### getDefaultProtocols

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

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(String[] protocols)
Sets the enabled protocols on the SSL component.

Parameters:
  `cipherSuites` - the protocols to enable

### getDefaultCipherSuites

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

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(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

### setHostnameVerification

void setHostnameVerification(boolean verifyHostname)