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 |