org.apache.tomcat.util.net

## Class SSLHostConfig

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

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  JmxRemoteLifecycleListener

    public class SSLHostConfig
    extends Object
    implements Serializable

Represents the TLS configuration for a virtual host.

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`static class` `SSLHostConfig.CertificateVerification`
`static class` `SSLHostConfig.Type`

### Field Summary

Fields
`protected static String` `DEFAULT_SSL_HOST_NAME`
`protected static Set<String>` `SSL_PROTO_ALL_SET`

### Constructor Summary

Constructors
Constructor and Description
`SSLHostConfig()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addCertificate(SSLHostConfigCertificate certificate)`
`static String` `adjustRelativePath(String path)`
`String` `getCaCertificateFile()`
`String` `getCaCertificatePath()`
`String` `getCertificateChainFile()`
`String` `getCertificateFile()`
`String` `getCertificateKeyAlias()`
`String` `getCertificateKeyFile()`
`String` `getCertificateKeyPassword()`
`String` `getCertificateKeystoreFile()`
`String` `getCertificateKeystorePassword()`
`String` `getCertificateKeystoreProvider()`
`String` `getCertificateKeystoreType()`
`String` `getCertificateRevocationListFile()`
`String` `getCertificateRevocationListPath()`
`Set<SSLHostConfigCertificate>` `getCertificates()`
`Set<SSLHostConfigCertificate>` `getCertificates(boolean createDefaultIfEmpty)`
`SSLHostConfig.CertificateVerification` `getCertificateVerification()`
`String` `getCertificateVerificationAsString()`
`int` `getCertificateVerificationDepth()`
`LinkedHashSet<Cipher>` `getCipherList()`
`String` `getCiphers()`
`String` `getConfigType()`
`boolean` `getDisableCompression()`
`boolean` `getDisableSessionTickets()`
`String[]` `getEnabledCiphers()`
`String[]` `getEnabledProtocols()`
`boolean` `getHonorCipherOrder()`
`String` `getHostName()`
`boolean` `getInsecureRenegotiation()`
`List<String>` `getJsseCipherNames()` Obtain the list of JSSE cipher names for the current configuration.
`String` `getKeyManagerAlgorithm()`
`ObjectName` `getObjectName()`
`OpenSSLConf` `getOpenSslConf()`
`Long` `getOpenSslConfContext()`
`Long` `getOpenSslContext()`
`Set<String>` `getProtocols()`
`boolean` `getRevocationEnabled()`
`int` `getSessionCacheSize()`
`int` `getSessionTimeout()`
`String` `getSslProtocol()`
`String` `getTrustManagerClassName()`
`KeyStore` `getTruststore()`
`String` `getTruststoreAlgorithm()`
`String` `getTruststoreFile()`
`String` `getTruststorePassword()`
`String` `getTruststoreProvider()`
`String` `getTruststoreType()`
`boolean` `isCertificateVerificationDepthConfigured()`
`void` `setCaCertificateFile(String caCertificateFile)`
`void` `setCaCertificatePath(String caCertificatePath)`
`void` `setCertificateChainFile(String certificateChainFile)`
`void` `setCertificateFile(String certificateFile)`
`void` `setCertificateKeyAlias(String certificateKeyAlias)`
`void` `setCertificateKeyFile(String certificateKeyFile)`
`void` `setCertificateKeyPassword(String certificateKeyPassword)`
`void` `setCertificateKeystoreFile(String certificateKeystoreFile)`
`void` `setCertificateKeystorePassword(String certificateKeystorePassword)`
`void` `setCertificateKeystoreProvider(String certificateKeystoreProvider)`
`void` `setCertificateKeystoreType(String certificateKeystoreType)`
`void` `setCertificateRevocationListFile(String certificateRevocationListFile)`
`void` `setCertificateRevocationListPath(String certificateRevocationListPath)`
`void` `setCertificateVerification(String certificateVerification)`
`void` `setCertificateVerificationAsString(String certificateVerification)`
`void` `setCertificateVerificationDepth(int certificateVerificationDepth)`
`void` `setCiphers(String ciphersList)` Set the new cipher configuration.
`void` `setDisableCompression(boolean disableCompression)`
`void` `setDisableSessionTickets(boolean disableSessionTickets)`
`void` `setEnabledCiphers(String[] enabledCiphers)`
`void` `setEnabledProtocols(String[] enabledProtocols)`
`void` `setHonorCipherOrder(boolean honorCipherOrder)`
`void` `setHostName(String hostName)`
`void` `setInsecureRenegotiation(boolean insecureRenegotiation)`
`void` `setKeyManagerAlgorithm(String keyManagerAlgorithm)`
`void` `setObjectName(ObjectName oname)`
`void` `setOpenSslConf(OpenSSLConf conf)`
`void` `setOpenSslConfContext(Long openSslConfContext)`
`void` `setOpenSslContext(Long openSslContext)`
`void` `setProtocols(String input)`
`void` `setRevocationEnabled(boolean revocationEnabled)`
`void` `setSessionCacheSize(int sessionCacheSize)`
`void` `setSessionTimeout(int sessionTimeout)`
`void` `setSslProtocol(String sslProtocol)`
`void` `setTrustManagerClassName(String trustManagerClassName)`
`void` `setTrustStore(KeyStore truststore)`
`void` `setTruststoreAlgorithm(String truststoreAlgorithm)`
`void` `setTruststoreFile(String truststoreFile)`
`void` `setTruststorePassword(String truststorePassword)`
`void` `setTruststoreProvider(String truststoreProvider)`
`void` `setTruststoreType(String truststoreType)`

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

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

### Field Detail

#### DEFAULT_SSL_HOST_NAME

    protected static final String DEFAULT_SSL_HOST_NAME

See Also:
  Constant Field Values

#### SSL_PROTO_ALL_SET

    protected static final Set<String> SSL_PROTO_ALL_SET

### Constructor Detail

#### SSLHostConfig

    public SSLHostConfig()

### Method Detail

#### getOpenSslConfContext

    public Long getOpenSslConfContext()

#### setOpenSslConfContext

    public void setOpenSslConfContext(Long openSslConfContext)

#### getOpenSslContext

    public Long getOpenSslContext()

#### setOpenSslContext

    public void setOpenSslContext(Long openSslContext)

#### getConfigType

    public String getConfigType()

#### getEnabledProtocols

    public String[] getEnabledProtocols()

Returns:
  The protocols enabled for this TLS virtual host
See Also:
  `SSLUtil.getEnabledProtocols()`

#### setEnabledProtocols

    public void setEnabledProtocols(String[] enabledProtocols)

#### getEnabledCiphers

    public String[] getEnabledCiphers()

Returns:
  The ciphers enabled for this TLS virtual host
See Also:
  `SSLUtil.getEnabledCiphers()`

#### setEnabledCiphers

    public void setEnabledCiphers(String[] enabledCiphers)

#### getObjectName

    public ObjectName getObjectName()

#### setObjectName

    public void setObjectName(ObjectName oname)

#### addCertificate

    public void addCertificate(SSLHostConfigCertificate certificate)

#### getOpenSslConf

    public OpenSSLConf getOpenSslConf()

#### setOpenSslConf

    public void setOpenSslConf(OpenSSLConf conf)

#### getCertificates

    public Set<SSLHostConfigCertificate> getCertificates()

#### getCertificates

    public Set<SSLHostConfigCertificate> getCertificates(boolean createDefaultIfEmpty)

#### getCertificateKeyPassword

    public String getCertificateKeyPassword()

#### setCertificateKeyPassword

    public void setCertificateKeyPassword(String certificateKeyPassword)

#### setCertificateRevocationListFile

    public void setCertificateRevocationListFile(String certificateRevocationListFile)

#### getCertificateRevocationListFile

    public String getCertificateRevocationListFile()

#### setCertificateVerification

    public void setCertificateVerification(String certificateVerification)

#### getCertificateVerification

    public SSLHostConfig.CertificateVerification getCertificateVerification()

#### setCertificateVerificationAsString

    public void setCertificateVerificationAsString(String certificateVerification)

#### getCertificateVerificationAsString

    public String getCertificateVerificationAsString()

#### setCertificateVerificationDepth

    public void setCertificateVerificationDepth(int certificateVerificationDepth)

#### getCertificateVerificationDepth

    public int getCertificateVerificationDepth()

#### isCertificateVerificationDepthConfigured

    public boolean isCertificateVerificationDepthConfigured()

#### setCiphers

    public void setCiphers(String ciphersList)

Set the new cipher configuration. Note: Regardless of the format used to set the configuration, it is always stored in OpenSSL format.

Parameters:
  `ciphersList` - The new cipher configuration in OpenSSL or JSSE format

#### getCiphers

    public String getCiphers()

Returns:
  An OpenSSL cipher string for the current configuration.

#### getCipherList

    public LinkedHashSet<Cipher> getCipherList()

#### getJsseCipherNames

    public List<String> getJsseCipherNames()

Obtain the list of JSSE cipher names for the current configuration. Ciphers included in the configuration but not supported by JSSE will be excluded from this list.

Returns:
  A list of the JSSE cipher names

#### setHonorCipherOrder

    public void setHonorCipherOrder(boolean honorCipherOrder)

#### getHonorCipherOrder

    public boolean getHonorCipherOrder()

#### setHostName

    public void setHostName(String hostName)

#### getHostName

    public String getHostName()

Returns:
  The host name associated with this SSL configuration - always in lower case.

#### setProtocols

    public void setProtocols(String input)

#### getProtocols

    public Set<String> getProtocols()

#### setSessionCacheSize

    public void setSessionCacheSize(int sessionCacheSize)

#### getSessionCacheSize

    public int getSessionCacheSize()

#### setSessionTimeout

    public void setSessionTimeout(int sessionTimeout)

#### getSessionTimeout

    public int getSessionTimeout()

#### getCertificateKeyAlias

    public String getCertificateKeyAlias()

#### setCertificateKeyAlias

    public void setCertificateKeyAlias(String certificateKeyAlias)

#### getCertificateKeystoreFile

    public String getCertificateKeystoreFile()

#### setCertificateKeystoreFile

    public void setCertificateKeystoreFile(String certificateKeystoreFile)

#### getCertificateKeystorePassword

    public String getCertificateKeystorePassword()

#### setCertificateKeystorePassword

    public void setCertificateKeystorePassword(String certificateKeystorePassword)

#### getCertificateKeystoreProvider

    public String getCertificateKeystoreProvider()

#### setCertificateKeystoreProvider

    public void setCertificateKeystoreProvider(String certificateKeystoreProvider)

#### getCertificateKeystoreType

    public String getCertificateKeystoreType()

#### setCertificateKeystoreType

    public void setCertificateKeystoreType(String certificateKeystoreType)

#### setKeyManagerAlgorithm

    public void setKeyManagerAlgorithm(String keyManagerAlgorithm)

#### getKeyManagerAlgorithm

    public String getKeyManagerAlgorithm()

#### setRevocationEnabled

    public void setRevocationEnabled(boolean revocationEnabled)

#### getRevocationEnabled

    public boolean getRevocationEnabled()

#### setSslProtocol

    public void setSslProtocol(String sslProtocol)

#### getSslProtocol

    public String getSslProtocol()

#### setTrustManagerClassName

    public void setTrustManagerClassName(String trustManagerClassName)

#### getTrustManagerClassName

    public String getTrustManagerClassName()

#### setTruststoreAlgorithm

    public void setTruststoreAlgorithm(String truststoreAlgorithm)

#### getTruststoreAlgorithm

    public String getTruststoreAlgorithm()

#### setTruststoreFile

    public void setTruststoreFile(String truststoreFile)

#### getTruststoreFile

    public String getTruststoreFile()

#### setTruststorePassword

    public void setTruststorePassword(String truststorePassword)

#### getTruststorePassword

    public String getTruststorePassword()

#### setTruststoreProvider

    public void setTruststoreProvider(String truststoreProvider)

#### getTruststoreProvider

    public String getTruststoreProvider()

#### setTruststoreType

    public void setTruststoreType(String truststoreType)

#### getTruststoreType

    public String getTruststoreType()

#### setTrustStore

    public void setTrustStore(KeyStore truststore)

#### getTruststore

    public KeyStore getTruststore()
                           throws IOException

Throws:
  `IOException`

#### getCertificateChainFile

    public String getCertificateChainFile()

#### setCertificateChainFile

    public void setCertificateChainFile(String certificateChainFile)

#### getCertificateFile

    public String getCertificateFile()

#### setCertificateFile

    public void setCertificateFile(String certificateFile)

#### getCertificateKeyFile

    public String getCertificateKeyFile()

#### setCertificateKeyFile

    public void setCertificateKeyFile(String certificateKeyFile)

#### setCertificateRevocationListPath

    public void setCertificateRevocationListPath(String certificateRevocationListPath)

#### getCertificateRevocationListPath

    public String getCertificateRevocationListPath()

#### setCaCertificateFile

    public void setCaCertificateFile(String caCertificateFile)

#### getCaCertificateFile

    public String getCaCertificateFile()

#### setCaCertificatePath

    public void setCaCertificatePath(String caCertificatePath)

#### getCaCertificatePath

    public String getCaCertificatePath()

#### setDisableCompression

    public void setDisableCompression(boolean disableCompression)

#### getDisableCompression

    public boolean getDisableCompression()

#### setDisableSessionTickets

    public void setDisableSessionTickets(boolean disableSessionTickets)

#### getDisableSessionTickets

    public boolean getDisableSessionTickets()

#### setInsecureRenegotiation

    public void setInsecureRenegotiation(boolean insecureRenegotiation)

#### getInsecureRenegotiation

    public boolean getInsecureRenegotiation()

#### adjustRelativePath

    public static String adjustRelativePath(String path)
                                     throws FileNotFoundException

Throws:
  `FileNotFoundException`