SSL Certificate revocation list and Online Certificate Status Protocol
Learn about configuring certificate revocation checking for client certificates. Certificate revocation list (CRL) is a deprecated feature. We can use Online Certificate Status Protocol (OCSP) with TLS certificates.
Deprecated feature: Certificate revocation list (CRL) is a deprecated feature. Use Online Certificate Status Protocol (OCSP) with TLS certificates. Certificate revocation provides the ability to revoke a client certificate that is given to IBM HTTP Server by the browser when the key becomes compromised, or when access permission to the key gets revoked. The two following protocols perform revocation checking.- Certificate Revocation List (CRL), (deprecated)
- A database that contains a list of certificates that are revoked before their scheduled expiration date.
- Online Certificate Status Protocol (OCSP)
- An HTTP-based service that is used to check whether an individual certificate was revoked before the scheduled expiration date.
To enable certificate revocation in IBM HTTP Server, publish the CRL on a Lightweight Directory Access Protocol (LDAP) server. Once the CRL is published to an LDAP server, we can access the CRL using the IBM HTTP Server configuration file. The CRL determines the access permission status of the requested client certificate. However, be aware that it's not always possible to determine the revocation status of a client certificate if the backend server, the source of revocation data, is not available or not communicating properly with IBM HTTP Server.
The CRL option turns CRL on and off inside an SSL virtual host. If you specify CRL as an option, then you elect to turn on CRL. If you do not specify CRL as an option, then CRL remains off. If the first option for SSLClientAuth equals 0/none, then we cannot use the second option, CRL. If you do not have client authentication on, then CRL processing does not take place.
Certification revocation information is supplied by the following different sources:- A webserver administrator can aggregate revocation info from multiple sources and explicitly
configure that location
- For OCSP, the SSLOCSPResponderURL directive configures this source.
- For CRL, the SSLCRLHostname directive and the optional crl argument to the SSLClientAuth directive configures this source.
- A certificate authority can embed the authoritative source of revocation information in each
certificate it issues.
- For CRL, this source is only used when the explicitly configured source is configured.
- For OCSP, SSLOCSPEnable configures the processing these sources.
Avoid trouble: It is not always possible to determine the revocation status of a client certificate if the backend server, the source of revocation data, is not available or not communicating properly with IBM HTTP Server. See the "SSLUnknownRevocationStatus" directive to configure how the server behaves in such an event. Avoid trouble: If your certificates use the LDAP or HTTP URI forms of the CertificateDistributionPoint or AIA extensions, be sure that the IBM HTTP Server system can establish outgoing connections of this type; you might need to adjust the settings for your firewall.
Only an explicitly configured LDAP server can
be queried for CRL, and the SSL handshake fails if the backend server is not reachable. Use the sslstash command that is located in the bin directory of IBM HTTP Server, to create your CRL
password stash file. The password that you specify using the sslstash command should equal
the one you use to log in to your LDAP server. where:
IBM HTTP Server uses a cached CRL that is beyond its published expiration time when a
current version is not available. When a certificate has been revoked in such an expired CRL, this
will result in a direct SSL handshake failure that is outside the scope of the
SSLUnknownRevocationStatus directive.
CRL checking follows the URIDistributionPoint X509 extension in the client certificate as well as
trying the DN constructed from the issuer of the client certificate. If the certificate contains a
CRL Distribution Point (CDP), then that information is given precedence. The order in which the
information is used is as follows:
Identifying CRL-specific directives supported in global or server and virtual host.
See the Secure Sockets Layer (SSL) directives for more information about configuring OCSP. Global
server and virtual host support the following directives:
sslstash [-c] <directory_to_password_file_and_file_name> <function_name> <password>
Related concepts
Related