Skip to content

crl🔗

crl::revoked-certificate-with-crl🔗

Tests a Certificate Revocation List (CRL) that revokes a certificate.

Produces a simple test case where a certificate has been revoked by the CA through a CRL. The CA certificate and CRL are provided, and the leaf certificate is expected to be rejected due to its revoked status.

Expected result Validation kind Validation time Features Importance Conflicts
FAILURE SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 certificate revoked
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 certificate revoked
openssl-3.3.6 certificate revoked
openssl-3.0.19 certificate revoked
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 certificate revoked
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki CertRevoked
openssl-3.4.4 certificate revoked
openssl-3.6.1 certificate revoked

crl::crlnumber-missing🔗

Tests handling of a CRL that's missing the CRLNumber extension.

Per RFC 5280 5.2.3 this extension MUST be included in a CRL.

Expected result Validation kind Validation time Features Importance Conflicts
FAILURE SERVER 1970-01-01T00:00:03+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 ❌ (unexpected success) N/A
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 ❌ (unexpected success) N/A
openssl-3.3.6 ❌ (unexpected success) N/A
openssl-3.0.19 ❌ (unexpected success) N/A
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 ❌ (unexpected success) N/A
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki ❌ (unexpected success) N/A
openssl-3.4.4 ❌ (unexpected success) N/A
openssl-3.6.1 ❌ (unexpected success) N/A

crl::certificate-not-on-crl🔗

Tests a certificate that is not present on any of the CRLs (expected pass).

Expected result Validation kind Validation time Features Importance Conflicts
SUCCESS SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 N/A
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 N/A
openssl-3.3.6 N/A
openssl-3.0.19 N/A
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 N/A
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki N/A
openssl-3.4.4 N/A
openssl-3.6.1 N/A

crl::certificate-serial-on-crl-different-issuer🔗

Tests a certificate whose serial number is found on a CRL, but that CRL has a different issuer than the certificate (expected pass).

Produces a test case where a certificate's serial number appears on a CRL, but the CRL is issued by a different CA than the one that issued the certificate. The certificate should be accepted since the CRL from a different issuer should not affect this certificate's validity.

Expected result Validation kind Validation time Features Importance Conflicts
SUCCESS SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 N/A
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 N/A
openssl-3.3.6 N/A
openssl-3.0.19 N/A
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 N/A
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki N/A
openssl-3.4.4 N/A
openssl-3.6.1 N/A

crl::crlnumber-critical🔗

Tests handling of a CRL that has a critical CRLNumber extension.

Per RFC 5280 5.2.3, the CRLNumber extension is mandatory but MUST be marked as non-critical.

Expected result Validation kind Validation time Features Importance Conflicts
FAILURE SERVER 1970-01-01T00:00:03+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 unhandled critical CRL extension
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 unhandled critical CRL extension
openssl-3.3.6 unhandled critical CRL extension
openssl-3.0.19 unhandled critical CRL extension
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 unhandled critical CRL extension
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki ❌ (unexpected success) N/A
openssl-3.4.4 unhandled critical CRL extension
openssl-3.6.1 unhandled critical CRL extension

crl::issuer-missing-crlsign🔗

Tests CRL validation when the CA issuer has a keyUsage extension with only keyCertSign set (no cRLSign).

Per RFC 5280 Section 4.2.1.3, if the keyUsage extension is present in a CA certificate, the cRLSign bit MUST be set if the CA will be issuing CRLs. A CRL signed by a CA without the cRLSign bit should be rejected.

Expected result Validation kind Validation time Features Importance Conflicts
FAILURE SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 key usage does not include CRL signing
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 key usage does not include CRL signing
openssl-3.3.6 key usage does not include CRL signing
openssl-3.0.19 key usage does not include CRL signing
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 key usage does not include CRL signing
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki ❌ (unexpected success) N/A
openssl-3.4.4 key usage does not include CRL signing
openssl-3.6.1 key usage does not include CRL signing

crl::issuer-no-keyusage-extension🔗

Tests CRL validation when the CA issuer has no keyUsage extension.

Per RFC 5280 Section 6.3.3(f), the CRL validation algorithm states: "If a key usage extension is present in the CRL issuer's certificate, verify that the cRLSign bit is set." This conditional check means that when keyUsage is absent, there is no cRLSign verification to perform.

Note: RFC 5280 Section 4.2.1.3 states that "Conforming CAs MUST include this extension in certificates that contain public keys that are used to validate digital signatures on other public key certificates or CRLs." However, this is a certificate issuance requirement, not a validation requirement. The validation algorithm in Section 6.3.3(f) explicitly uses conditional language ("If... is present").

Expected result Validation kind Validation time Features Importance Conflicts
SUCCESS SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 ❌ (unexpected failure) CA cert does not include key usage extension
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 N/A
openssl-3.3.6 ❌ (unexpected failure) CA cert does not include key usage extension
openssl-3.0.19 ❌ (unexpected failure) CA cert does not include key usage extension
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 ❌ (unexpected failure) CA cert does not include key usage extension
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki N/A
openssl-3.4.4 ❌ (unexpected failure) CA cert does not include key usage extension
openssl-3.6.1 ❌ (unexpected failure) CA cert does not include key usage extension

crl::issuer-valid-crlsign-and-keycertsign🔗

Tests CRL validation when the CA issuer has a keyUsage extension with both keyCertSign and cRLSign bits set.

This is the standard configuration for a CA that issues both certificates and CRLs. The CRL should be accepted.

Expected result Validation kind Validation time Features Importance Conflicts
SUCCESS SERVER 2024-01-01T00:00:00+00:00 has-crl high N/A
Harness Result Context
gocryptox509-go1.25.7 🚧 CRLs not supported
openssl-3.5.5 N/A
gnutls-certtool-3.8.3 🚧 CRLs not supported yet
openssl-1.1 N/A
openssl-3.3.6 N/A
openssl-3.0.19 N/A
certvalidator-0.11.1 🚧 testcase skipped (explicit unsupported feature)
rust-webpki 🚧 CRLs are not supported by this API
openssl-3.2.6 N/A
pyca-cryptography-46.0.5 🚧 testcase skipped (explicit unsupported feature)
rustls-webpki N/A
openssl-3.4.4 N/A
openssl-3.6.1 N/A