Package org.apache.tomcat.util.net

# Class SSLHostConfig

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

All Implemented Interfaces:
  `Serializable`

public class SSLHostConfig extends Object implements Serializable
Represents the TLS configuration for a virtual host.

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `SSLHostConfig.CertificateVerification`
  `static enum`
  `SSLHostConfig.Type`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final String`
  `DEFAULT_SSL_HOST_NAME`
  `static final String`
  `DEFAULT_TLS_CIPHERS`
  `protected static final Set<String>`
  `SSL_PROTO_ALL_SET`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SSLHostConfig()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCertificate(SSLHostConfigCertificate certificate)`
  `static String`
  `adjustRelativePath(String path)`
  `Set<X509Certificate>`
  `certificatesExpiringBefore(Date date)`
  `String`
  `getCaCertificateFile()`
  `String`
  `getCaCertificatePath()`
  `String`
  `getCertificateChainFile()`
  `String`
  `getCertificateFile()`
  `String`
  `getCertificateKeyAlias()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeyFile()`
  `String`
  `getCertificateKeyPassword()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeyPasswordFile()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeystoreFile()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeystorePassword()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeystorePasswordFile()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeystoreProvider()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `String`
  `getCertificateKeystoreType()`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `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()`
  `boolean`
  `isTls13RenegotiationAvailable()`
  `void`
  `setCaCertificateFile(String caCertificateFile)`
  `void`
  `setCaCertificatePath(String caCertificatePath)`
  `void`
  `setCertificateChainFile(String certificateChainFile)`
  `void`
  `setCertificateFile(String certificateFile)`
  `void`
  `setCertificateKeyAlias(String certificateKeyAlias)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeyFile(String certificateKeyFile)`
  `void`
  `setCertificateKeyPassword(String certificateKeyPassword)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeyPasswordFile(String certificateKeyPasswordFile)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeystoreFile(String certificateKeystoreFile)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeystorePassword(String certificateKeystorePassword)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeystorePasswordFile(String certificateKeystorePasswordFile)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeystoreProvider(String certificateKeystoreProvider)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `void`
  `setCertificateKeystoreType(String certificateKeystoreType)`
  Deprecated.
  Obtain the prefered Certificate and call this method, there.
  `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`
  `setTls13RenegotiationAvailable(boolean tls13RenegotiationAvailable)`
  `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 Details

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

  - ### DEFAULT_TLS_CIPHERS

    public static final String DEFAULT_TLS_CIPHERS
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SSLHostConfig

    public SSLHostConfig()

- ## Method Details

  - ### isTls13RenegotiationAvailable

    public boolean isTls13RenegotiationAvailable()

  - ### setTls13RenegotiationAvailable

    public void setTls13RenegotiationAvailable(boolean tls13RenegotiationAvailable)

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

    @Deprecated public String getCertificateKeyPassword()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The default certificate key password.

  - ### setCertificateKeyPassword

    @Deprecated public void setCertificateKeyPassword(String certificateKeyPassword)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeyPassword` - The password for the default certificate's key.

  - ### getCertificateKeyPasswordFile

    @Deprecated public String getCertificateKeyPasswordFile()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The password for the default certificate's key.

  - ### setCertificateKeyPasswordFile

    @Deprecated public void setCertificateKeyPasswordFile(String certificateKeyPasswordFile)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeyPasswordFile` - The file containing the password for the default certificate's key.

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

    @Deprecated public String getCertificateKeyAlias()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The key alias for the default certificate key.

  - ### setCertificateKeyAlias

    @Deprecated public void setCertificateKeyAlias(String certificateKeyAlias)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeyAlias` - The alias of the certificate key.

  - ### getCertificateKeystoreFile

    @Deprecated public String getCertificateKeystoreFile()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The keystore file for the default certificate.

  - ### setCertificateKeystoreFile

    @Deprecated public void setCertificateKeystoreFile(String certificateKeystoreFile)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeystoreFile` - The file containing the certificate keystore.

  - ### getCertificateKeystorePassword

    @Deprecated public String getCertificateKeystorePassword()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The password for the default certificate's keystore.

  - ### setCertificateKeystorePassword

    @Deprecated public void setCertificateKeystorePassword(String certificateKeystorePassword)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeystorePassword` - The password for the certificate keystore.

  - ### getCertificateKeystorePasswordFile

    @Deprecated public String getCertificateKeystorePasswordFile()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The file containing the default certificate's keystore password.

  - ### setCertificateKeystorePasswordFile

    @Deprecated public void setCertificateKeystorePasswordFile(String certificateKeystorePasswordFile)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeystorePasswordFile` - The file containing the default certificate's keystore password.

  - ### getCertificateKeystoreProvider

    @Deprecated public String getCertificateKeystoreProvider()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The provider for the default certificate's keystore.

  - ### setCertificateKeystoreProvider

    @Deprecated public void setCertificateKeystoreProvider(String certificateKeystoreProvider)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeystoreProvider` - The provider for the default certificate's keystore.

  - ### getCertificateKeystoreType

    @Deprecated public String getCertificateKeystoreType()
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Returns:
      The type of the default certificate's keystore.

  - ### setCertificateKeystoreType

    @Deprecated public void setCertificateKeystoreType(String certificateKeystoreType)
    Deprecated.
    Obtain the prefered Certificate and call this method, there.
    Parameters:
      `certificateKeystoreType` - The type of the default certificate's keystore.

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

  - ### certificatesExpiringBefore

    public Set<X509Certificate> certificatesExpiringBefore(Date date)

  - ### adjustRelativePath

    public static String adjustRelativePath(String path) throws FileNotFoundException
    Throws:
      `FileNotFoundException`