# 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`
  Certificate verification levels.
  `static enum`
  `SSLHostConfig.Type`
  SSL configuration type.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final String`
  `DEFAULT_SSL_HOST_NAME`
  Default SSL host name.
  `static final String`
  `DEFAULT_TLS_CIPHERS`
  Deprecated.
  Replaced by `DEFAULT_TLS_CIPHERS_12`
  `static final String`
  `DEFAULT_TLS_CIPHERS_12`
  Default cipher list for TLS 1.2 and below.
  `static final String`
  `DEFAULT_TLS_CIPHERS_13`
  Default cipher suite list for TLS 1.3.
  `protected static final Set<String>`
  `SSL_PROTO_ALL_SET`
  Set of all SSL protocols.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SSLHostConfig()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCertificate(SSLHostConfigCertificate certificate)`
  Adds a certificate to this SSL host configuration.
  `static String`
  `adjustRelativePath(String path)`
  Adjusts a relative path to an absolute path based on the CATALINA_BASE property.
  `Set<X509Certificate>`
  `certificatesExpiringBefore(Date date)`
  Returns the set of certificates that expire before the given date.
  `String`
  `getCaCertificateFile()`
  Returns the CA certificate file.
  `String`
  `getCaCertificatePath()`
  Returns the CA certificate path.
  `String`
  `getCertificateRevocationListFile()`
  Returns the certificate revocation list file.
  `String`
  `getCertificateRevocationListPath()`
  Returns the certificate revocation list path.
  `Set<SSLHostConfigCertificate>`
  `getCertificates()`
  Returns the set of certificates.
  `Set<SSLHostConfigCertificate>`
  `getCertificates(boolean createDefaultIfEmpty)`
  Returns the set of certificates, optionally creating a default if empty.
  `SSLHostConfig.CertificateVerification`
  `getCertificateVerification()`
  Returns the certificate verification mode.
  `String`
  `getCertificateVerificationAsString()`
  Returns the certificate verification mode as a string.
  `int`
  `getCertificateVerificationDepth()`
  Returns the certificate verification depth.
  `LinkedHashSet<Cipher>`
  `getCipherList()`
  Returns the list of configured ciphers.
  `String`
  `getCiphers()`
  Returns the cipher (TLSv1.2 and below) configuration.
  `String`
  `getCipherSuites()`
  Obtain the current cipher suite (TLSv1.3) configuration.
  `String`
  `getConfigType()`
  Expose in String form for JMX.
  `boolean`
  `getDisableCompression()`
  Returns whether compression is disabled.
  `boolean`
  `getDisableSessionTickets()`
  Returns whether session tickets are disabled.
  `String[]`
  `getEnabledCiphers()`
  Returns the ciphers enabled for this TLS virtual host.
  `String[]`
  `getEnabledProtocols()`
  Returns the protocols enabled for this TLS virtual host.
  `LinkedHashSet<Group>`
  `getGroupList()`
  Returns the parsed group list.
  `String`
  `getGroups()`
  Returns the configured named groups.
  `boolean`
  `getHonorCipherOrder()`
  Returns whether to honor the cipher order.
  `String`
  `getHostName()`
  Returns the host name associated with this SSL configuration.
  `boolean`
  `getInsecureRenegotiation()`
  Returns whether insecure renegotiation is allowed.
  `List<String>`
  `getJsseCipherNames()`
  Obtain the list of JSSE cipher names for the current configuration.
  `String`
  `getKeyManagerAlgorithm()`
  Returns the key manager algorithm.
  `ObjectName`
  `getObjectName()`
  Returns the JMX object name.
  `boolean`
  `getOcspEnabled()`
  Returns whether OCSP is enabled.
  `boolean`
  `getOcspSoftFail()`
  Returns whether OCSP soft fail is enabled.
  `int`
  `getOcspTimeout()`
  Returns the OCSP timeout.
  `int`
  `getOcspVerifyFlags()`
  Returns the OCSP verify flags.
  `OpenSSLConf`
  `getOpenSslConf()`
  Returns the OpenSSL configuration.
  `Long`
  `getOpenSslConfContext()`
  Returns the OpenSSL configuration context pointer.
  `Long`
  `getOpenSslContext()`
  Returns the OpenSSL context pointer.
  `Set<String>`
  `getProtocols()`
  Returns the configured protocols.
  `boolean`
  `getRevocationEnabled()`
  Returns whether revocation checking is enabled.
  `int`
  `getSessionCacheSize()`
  Returns the session cache size.
  `int`
  `getSessionTimeout()`
  Returns the session timeout.
  `String`
  `getSslProtocol()`
  Returns the SSL protocol.
  `String`
  `getTrustManagerClassName()`
  Returns the trust manager class name.
  `KeyStore`
  `getTruststore()`
  Returns the truststore.
  `String`
  `getTruststoreAlgorithm()`
  Returns the truststore algorithm.
  `String`
  `getTruststoreFile()`
  Returns the truststore file.
  `String`
  `getTruststorePassword()`
  Returns the truststore password.
  `String`
  `getTruststoreProvider()`
  Returns the truststore provider.
  `String`
  `getTruststoreType()`
  Returns the truststore type.
  `boolean`
  `isCertificateVerificationDepthConfigured()`
  Returns whether the certificate verification depth has been configured.
  `boolean`
  `isTls13RenegotiationAvailable()`
  Returns whether TLS 1.3 renegotiation is available.
  `void`
  `setCaCertificateFile(String caCertificateFile)`
  Sets the CA certificate file.
  `void`
  `setCaCertificatePath(String caCertificatePath)`
  Sets the CA certificate path.
  `void`
  `setCertificateRevocationListFile(String certificateRevocationListFile)`
  Sets the certificate revocation list file.
  `void`
  `setCertificateRevocationListPath(String certificateRevocationListPath)`
  Sets the certificate revocation list path.
  `void`
  `setCertificateVerification(String certificateVerification)`
  Sets the certificate verification mode.
  `void`
  `setCertificateVerificationAsString(String certificateVerification)`
  Sets the certificate verification mode as a string.
  `void`
  `setCertificateVerificationDepth(int certificateVerificationDepth)`
  Sets the certificate verification depth.
  `void`
  `setCiphers(String ciphersList)`
  Set the new cipher (TLSv1.2 and below) configuration.
  `void`
  `setCipherSuites(String cipherSuites)`
  Set the cipher suite (TLSv1.3) configuration.
  `void`
  `setDisableCompression(boolean disableCompression)`
  Sets whether compression is disabled.
  `void`
  `setDisableSessionTickets(boolean disableSessionTickets)`
  Sets whether session tickets are disabled.
  `void`
  `setEnabledCiphers(String[] enabledCiphers)`
  Sets the ciphers enabled for this TLS virtual host.
  `void`
  `setEnabledProtocols(String[] enabledProtocols)`
  Sets the protocols enabled for this TLS virtual host.
  `void`
  `setGroups(String groups)`
  Set the enabled named groups.
  `void`
  `setHonorCipherOrder(boolean honorCipherOrder)`
  Sets whether to honor the cipher order.
  `void`
  `setHostName(String hostName)`
  Sets the host name.
  `void`
  `setInsecureRenegotiation(boolean insecureRenegotiation)`
  Sets whether insecure renegotiation is allowed.
  `void`
  `setKeyManagerAlgorithm(String keyManagerAlgorithm)`
  Sets the key manager algorithm.
  `void`
  `setObjectName(ObjectName oname)`
  Sets the JMX object name.
  `void`
  `setOcspEnabled(boolean ocspEnabled)`
  Sets whether OCSP is enabled.
  `void`
  `setOcspSoftFail(boolean ocspSoftFail)`
  Sets whether OCSP soft fail is enabled.
  `void`
  `setOcspTimeout(int ocspTimeout)`
  Sets the OCSP timeout.
  `void`
  `setOcspVerifyFlags(int ocspVerifyFlags)`
  Sets the OCSP verify flags.
  `void`
  `setOpenSslConf(OpenSSLConf conf)`
  Sets the OpenSSL configuration.
  `void`
  `setOpenSslConfContext(Long openSslConfContext)`
  Sets the OpenSSL configuration context pointer.
  `void`
  `setOpenSslContext(Long openSslContext)`
  Sets the OpenSSL context pointer.
  `void`
  `setProtocols(String input)`
  Sets the protocols to be used.
  `void`
  `setRevocationEnabled(boolean revocationEnabled)`
  Sets whether revocation checking is enabled.
  `void`
  `setSessionCacheSize(int sessionCacheSize)`
  Sets the session cache size.
  `void`
  `setSessionTimeout(int sessionTimeout)`
  Sets the session timeout.
  `void`
  `setSslProtocol(String sslProtocol)`
  Sets the SSL protocol.
  `void`
  `setTls13RenegotiationAvailable(boolean tls13RenegotiationAvailable)`
  Sets whether TLS 1.3 renegotiation is available.
  `void`
  `setTrustManagerClassName(String trustManagerClassName)`
  Sets the trust manager class name.
  `void`
  `setTrustStore(KeyStore truststore)`
  Sets the truststore.
  `void`
  `setTruststoreAlgorithm(String truststoreAlgorithm)`
  Sets the truststore algorithm.
  `void`
  `setTruststoreFile(String truststoreFile)`
  Sets the truststore file.
  `void`
  `setTruststorePassword(String truststorePassword)`
  Sets the truststore password.
  `void`
  `setTruststoreProvider(String truststoreProvider)`
  Sets the truststore provider.
  `void`
  `setTruststoreType(String truststoreType)`
  Sets the truststore type.

  ### Methods inherited from class 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
    Default SSL host name.
    See Also:
      - Constant Field Values

  - ### SSL_PROTO_ALL_SET

    protected static final Set<String> SSL_PROTO_ALL_SET
    Set of all SSL protocols.

  - ### DEFAULT_TLS_CIPHERS_12

    public static final String DEFAULT_TLS_CIPHERS_12
    Default cipher list for TLS 1.2 and below.
    See Also:
      - Constant Field Values

  - ### DEFAULT_TLS_CIPHERS_13

    public static final String DEFAULT_TLS_CIPHERS_13
    Default cipher suite list for TLS 1.3.
    See Also:
      - Constant Field Values

  - ### DEFAULT_TLS_CIPHERS

    @Deprecated public static final String DEFAULT_TLS_CIPHERS
    Deprecated.
    Replaced by `DEFAULT_TLS_CIPHERS_12`
    Default cipher list for TLS 1.2 and below.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SSLHostConfig

    public SSLHostConfig()
    Default constructor.

- ## Method Details

  - ### isTls13RenegotiationAvailable

    public boolean isTls13RenegotiationAvailable()
    Returns whether TLS 1.3 renegotiation is available.
    Returns:
      `true` if TLS 1.3 renegotiation is available

  - ### setTls13RenegotiationAvailable

    public void setTls13RenegotiationAvailable(boolean tls13RenegotiationAvailable)
    Sets whether TLS 1.3 renegotiation is available.
    Parameters:
      `tls13RenegotiationAvailable` - `true` if TLS 1.3 renegotiation is available

  - ### getOpenSslConfContext

    public Long getOpenSslConfContext()
    Returns the OpenSSL configuration context pointer.
    Returns:
      the OpenSSL configuration context pointer

  - ### setOpenSslConfContext

    public void setOpenSslConfContext(Long openSslConfContext)
    Sets the OpenSSL configuration context pointer.
    Parameters:
      `openSslConfContext` - the OpenSSL configuration context pointer

  - ### getOpenSslContext

    public Long getOpenSslContext()
    Returns the OpenSSL context pointer.
    Returns:
      the OpenSSL context pointer

  - ### setOpenSslContext

    public void setOpenSslContext(Long openSslContext)
    Sets the OpenSSL context pointer.
    Parameters:
      `openSslContext` - the OpenSSL context pointer

  - ### getConfigType

    public String getConfigType()
    Expose in String form for JMX.
    Returns:
      the configuration type as a string

  - ### getEnabledProtocols

    public String[] getEnabledProtocols()
    Returns the protocols enabled for this TLS virtual host.
    Returns:
      The protocols enabled for this TLS virtual host
    See Also:
      - `SSLUtil.getEnabledProtocols()`

  - ### setEnabledProtocols

    public void setEnabledProtocols(String[] enabledProtocols)
    Sets the protocols enabled for this TLS virtual host.
    Parameters:
      `enabledProtocols` - the protocols to enable

  - ### getEnabledCiphers

    public String[] getEnabledCiphers()
    Returns the ciphers enabled for this TLS virtual host.
    Returns:
      The ciphers enabled for this TLS virtual host
    See Also:
      - `SSLUtil.getEnabledCiphers()`

  - ### setEnabledCiphers

    public void setEnabledCiphers(String[] enabledCiphers)
    Sets the ciphers enabled for this TLS virtual host.
    Parameters:
      `enabledCiphers` - the ciphers to enable

  - ### getObjectName

    public ObjectName getObjectName()
    Returns the JMX object name.
    Returns:
      the object name

  - ### setObjectName

    public void setObjectName(ObjectName oname)
    Sets the JMX object name.
    Parameters:
      `oname` - the object name

  - ### addCertificate

    public void addCertificate(SSLHostConfigCertificate certificate)
    Adds a certificate to this SSL host configuration.
    Parameters:
      `certificate` - the certificate to add

  - ### getOpenSslConf

    public OpenSSLConf getOpenSslConf()
    Returns the OpenSSL configuration.
    Returns:
      the OpenSSL configuration

  - ### setOpenSslConf

    public void setOpenSslConf(OpenSSLConf conf)
    Sets the OpenSSL configuration.
    Parameters:
      `conf` - the OpenSSL configuration

  - ### getCertificates

    public Set<SSLHostConfigCertificate> getCertificates()
    Returns the set of certificates.
    Returns:
      the certificates

  - ### getCertificates

    public Set<SSLHostConfigCertificate> getCertificates(boolean createDefaultIfEmpty)
    Returns the set of certificates, optionally creating a default if empty.
    Parameters:
      `createDefaultIfEmpty` - `true` to create a default certificate if the set is empty
    Returns:
      the certificates

  - ### setCertificateRevocationListFile

    public void setCertificateRevocationListFile(String certificateRevocationListFile)
    Sets the certificate revocation list file.
    Parameters:
      `certificateRevocationListFile` - the certificate revocation list file

  - ### getCertificateRevocationListFile

    public String getCertificateRevocationListFile()
    Returns the certificate revocation list file.
    Returns:
      the certificate revocation list file

  - ### setCertificateVerification

    public void setCertificateVerification(String certificateVerification)
    Sets the certificate verification mode.
    Parameters:
      `certificateVerification` - the certificate verification mode

  - ### getCertificateVerification

    public SSLHostConfig.CertificateVerification getCertificateVerification()
    Returns the certificate verification mode.
    Returns:
      the certificate verification mode

  - ### setCertificateVerificationAsString

    public void setCertificateVerificationAsString(String certificateVerification)
    Sets the certificate verification mode as a string.
    Parameters:
      `certificateVerification` - the certificate verification mode

  - ### getCertificateVerificationAsString

    public String getCertificateVerificationAsString()
    Returns the certificate verification mode as a string.
    Returns:
      the certificate verification mode as a string

  - ### setCertificateVerificationDepth

    public void setCertificateVerificationDepth(int certificateVerificationDepth)
    Sets the certificate verification depth.
    Parameters:
      `certificateVerificationDepth` - the certificate verification depth

  - ### getCertificateVerificationDepth

    public int getCertificateVerificationDepth()
    Returns the certificate verification depth.
    Returns:
      the certificate verification depth

  - ### isCertificateVerificationDepthConfigured

    public boolean isCertificateVerificationDepthConfigured()
    Returns whether the certificate verification depth has been configured.
    Returns:
      `true` if the certificate verification depth has been configured

  - ### setCiphers

    public void setCiphers(String ciphersList)
    Set the new cipher (TLSv1.2 and below) 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 the cipher (TLSv1.2 and below) configuration.
    Returns:
      An OpenSSL cipher string for the current configuration.

  - ### getCipherList

    public LinkedHashSet<Cipher> getCipherList()
    Returns the list of configured ciphers.
    Returns:
      the cipher list

  - ### 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. TLS 1.3 ciphers will be first in the list.
    Returns:
      A list of the JSSE cipher names

  - ### setCipherSuites

    public void setCipherSuites(String cipherSuites)
    Set the cipher suite (TLSv1.3) configuration.
    Parameters:
      `cipherSuites` - The cipher suites to use in a colon-separated, preference order list

  - ### getCipherSuites

    public String getCipherSuites()
    Obtain the current cipher suite (TLSv1.3) configuration.
    Returns:
      An OpenSSL cipher suite string for the current configuration.

  - ### setHonorCipherOrder

    public void setHonorCipherOrder(boolean honorCipherOrder)
    Sets whether to honor the cipher order.
    Parameters:
      `honorCipherOrder` - `true` to honor the cipher order

  - ### getHonorCipherOrder

    public boolean getHonorCipherOrder()
    Returns whether to honor the cipher order.
    Returns:
      `true` to honor the cipher order

  - ### setHostName

    public void setHostName(String hostName)
    Sets the host name.
    Parameters:
      `hostName` - the host name

  - ### getHostName

    public String getHostName()
    Returns the host name associated with this SSL configuration.
    Returns:
      The host name associated with this SSL configuration - always in lower case.

  - ### getOcspEnabled

    public boolean getOcspEnabled()
    Returns whether OCSP is enabled.
    Returns:
      `true` if OCSP is enabled

  - ### setOcspEnabled

    public void setOcspEnabled(boolean ocspEnabled)
    Sets whether OCSP is enabled.
    Parameters:
      `ocspEnabled` - `true` if OCSP is enabled

  - ### getOcspSoftFail

    public boolean getOcspSoftFail()
    Returns whether OCSP soft fail is enabled.
    Returns:
      `true` if OCSP soft fail is enabled

  - ### setOcspSoftFail

    public void setOcspSoftFail(boolean ocspSoftFail)
    Sets whether OCSP soft fail is enabled.
    Parameters:
      `ocspSoftFail` - `true` if OCSP soft fail is enabled

  - ### getOcspTimeout

    public int getOcspTimeout()
    Returns the OCSP timeout.
    Returns:
      the OCSP timeout

  - ### setOcspTimeout

    public void setOcspTimeout(int ocspTimeout)
    Sets the OCSP timeout.
    Parameters:
      `ocspTimeout` - the OCSP timeout

  - ### getOcspVerifyFlags

    public int getOcspVerifyFlags()
    Returns the OCSP verify flags.
    Returns:
      the OCSP verify flags

  - ### setOcspVerifyFlags

    public void setOcspVerifyFlags(int ocspVerifyFlags)
    Sets the OCSP verify flags.
    Parameters:
      `ocspVerifyFlags` - the OCSP verify flags

  - ### setProtocols

    public void setProtocols(String input)
    Sets the protocols to be used.
    Parameters:
      `input` - the protocol string

  - ### getProtocols

    public Set<String> getProtocols()
    Returns the configured protocols.
    Returns:
      the protocols

  - ### setSessionCacheSize

    public void setSessionCacheSize(int sessionCacheSize)
    Sets the session cache size.
    Parameters:
      `sessionCacheSize` - the session cache size

  - ### getSessionCacheSize

    public int getSessionCacheSize()
    Returns the session cache size.
    Returns:
      the session cache size

  - ### setSessionTimeout

    public void setSessionTimeout(int sessionTimeout)
    Sets the session timeout.
    Parameters:
      `sessionTimeout` - the session timeout

  - ### getSessionTimeout

    public int getSessionTimeout()
    Returns the session timeout.
    Returns:
      the session timeout

  - ### getGroups

    public String getGroups()
    Returns the configured named groups.
    Returns:
      the configured named groups

  - ### setGroups

    public void setGroups(String groups)
    Set the enabled named groups.
    Parameters:
      `groups` - the case sensitive comma separated list of groups

  - ### getGroupList

    public LinkedHashSet<Group> getGroupList()
    Returns the parsed group list.
    Returns:
      the groupList

  - ### setKeyManagerAlgorithm

    public void setKeyManagerAlgorithm(String keyManagerAlgorithm)
    Sets the key manager algorithm.
    Parameters:
      `keyManagerAlgorithm` - the key manager algorithm

  - ### getKeyManagerAlgorithm

    public String getKeyManagerAlgorithm()
    Returns the key manager algorithm.
    Returns:
      the key manager algorithm

  - ### setRevocationEnabled

    public void setRevocationEnabled(boolean revocationEnabled)
    Sets whether revocation checking is enabled.
    Parameters:
      `revocationEnabled` - `true` if revocation checking is enabled

  - ### getRevocationEnabled

    public boolean getRevocationEnabled()
    Returns whether revocation checking is enabled.
    Returns:
      `true` if revocation checking is enabled

  - ### setSslProtocol

    public void setSslProtocol(String sslProtocol)
    Sets the SSL protocol.
    Parameters:
      `sslProtocol` - the SSL protocol

  - ### getSslProtocol

    public String getSslProtocol()
    Returns the SSL protocol.
    Returns:
      the SSL protocol

  - ### setTrustManagerClassName

    public void setTrustManagerClassName(String trustManagerClassName)
    Sets the trust manager class name.
    Parameters:
      `trustManagerClassName` - the trust manager class name

  - ### getTrustManagerClassName

    public String getTrustManagerClassName()
    Returns the trust manager class name.
    Returns:
      the trust manager class name

  - ### setTruststoreAlgorithm

    public void setTruststoreAlgorithm(String truststoreAlgorithm)
    Sets the truststore algorithm.
    Parameters:
      `truststoreAlgorithm` - the truststore algorithm

  - ### getTruststoreAlgorithm

    public String getTruststoreAlgorithm()
    Returns the truststore algorithm.
    Returns:
      the truststore algorithm

  - ### setTruststoreFile

    public void setTruststoreFile(String truststoreFile)
    Sets the truststore file.
    Parameters:
      `truststoreFile` - the truststore file

  - ### getTruststoreFile

    public String getTruststoreFile()
    Returns the truststore file.
    Returns:
      the truststore file

  - ### setTruststorePassword

    public void setTruststorePassword(String truststorePassword)
    Sets the truststore password.
    Parameters:
      `truststorePassword` - the truststore password

  - ### getTruststorePassword

    public String getTruststorePassword()
    Returns the truststore password.
    Returns:
      the truststore password

  - ### setTruststoreProvider

    public void setTruststoreProvider(String truststoreProvider)
    Sets the truststore provider.
    Parameters:
      `truststoreProvider` - the truststore provider

  - ### getTruststoreProvider

    public String getTruststoreProvider()
    Returns the truststore provider.
    Returns:
      the truststore provider

  - ### setTruststoreType

    public void setTruststoreType(String truststoreType)
    Sets the truststore type.
    Parameters:
      `truststoreType` - the truststore type

  - ### getTruststoreType

    public String getTruststoreType()
    Returns the truststore type.
    Returns:
      the truststore type

  - ### setTrustStore

    public void setTrustStore(KeyStore truststore)
    Sets the truststore.
    Parameters:
      `truststore` - the truststore

  - ### getTruststore

    public KeyStore getTruststore() throws IOException
    Returns the truststore.
    Returns:
      the truststore
    Throws:
      `IOException` - if an I/O error occurs

  - ### setCertificateRevocationListPath

    public void setCertificateRevocationListPath(String certificateRevocationListPath)
    Sets the certificate revocation list path.
    Parameters:
      `certificateRevocationListPath` - the certificate revocation list path

  - ### getCertificateRevocationListPath

    public String getCertificateRevocationListPath()
    Returns the certificate revocation list path.
    Returns:
      the certificate revocation list path

  - ### setCaCertificateFile

    public void setCaCertificateFile(String caCertificateFile)
    Sets the CA certificate file.
    Parameters:
      `caCertificateFile` - the CA certificate file

  - ### getCaCertificateFile

    public String getCaCertificateFile()
    Returns the CA certificate file.
    Returns:
      the CA certificate file

  - ### setCaCertificatePath

    public void setCaCertificatePath(String caCertificatePath)
    Sets the CA certificate path.
    Parameters:
      `caCertificatePath` - the CA certificate path

  - ### getCaCertificatePath

    public String getCaCertificatePath()
    Returns the CA certificate path.
    Returns:
      the CA certificate path

  - ### setDisableCompression

    public void setDisableCompression(boolean disableCompression)
    Sets whether compression is disabled.
    Parameters:
      `disableCompression` - `true` if compression is disabled

  - ### getDisableCompression

    public boolean getDisableCompression()
    Returns whether compression is disabled.
    Returns:
      `true` if compression is disabled

  - ### setDisableSessionTickets

    public void setDisableSessionTickets(boolean disableSessionTickets)
    Sets whether session tickets are disabled.
    Parameters:
      `disableSessionTickets` - `true` if session tickets are disabled

  - ### getDisableSessionTickets

    public boolean getDisableSessionTickets()
    Returns whether session tickets are disabled.
    Returns:
      `true` if session tickets are disabled

  - ### setInsecureRenegotiation

    public void setInsecureRenegotiation(boolean insecureRenegotiation)
    Sets whether insecure renegotiation is allowed.
    Parameters:
      `insecureRenegotiation` - `true` if insecure renegotiation is allowed

  - ### getInsecureRenegotiation

    public boolean getInsecureRenegotiation()
    Returns whether insecure renegotiation is allowed.
    Returns:
      `true` if insecure renegotiation is allowed

  - ### certificatesExpiringBefore

    public Set<X509Certificate> certificatesExpiringBefore(Date date)
    Returns the set of certificates that expire before the given date.
    Parameters:
      `date` - the date to check against
    Returns:
      the set of certificates expiring before the given date

  - ### adjustRelativePath

    public static String adjustRelativePath(String path) throws FileNotFoundException
    Adjusts a relative path to an absolute path based on the CATALINA_BASE property.
    Parameters:
      `path` - the path to adjust
    Returns:
      the adjusted path
    Throws:
      `FileNotFoundException` - if the file does not exist