3

I'm trying to make an example work with indirect CRL. But when I try to verify it with the openssl verify command, I either get "unable to get certificate CRL" or "Different CRL scope".

The question is:

  • Do I use the openssl verify command correctly?
  • Is there something missing in the certificates or CRL?

The PKI tree looks like this:

                 ca
                  |
    --------------------------------
    |             |                |
   a-td          b-td              ta
    |             |                |   
client_cert   server_cert         crl

The idea would be that the TA acts as an CRL issuer and creates an indirect CRL to revoke client certificates.

To test this, I use the openssl verify tool as follows:

openssl verify -crl_check \
    -CAfile <(cat ca.pem b-td.pem) \
    -untrusted <(cat ta.pem ta.crl) \
    -extended_crl client1.pem

Which results in "unable to get certificate CRL".

When I add the CRL to the CAfile chain, I get "Different CRL scope".

openssl verify -crl_check \
    -CAfile <(cat ca.pem b-td.pem ta.pem ta.crl) \
    -extended_crl client1.pem

I list here also the details of the a-td.pem, ta.pem, client.pem and the CRL.

# a-td.pem
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 2 (0x2)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=Test, OU=Test Certificate Authority, CN=Test Root C-TA
        Validity
            Not Before: Nov 29 16:07:40 2017 GMT
            Not After : Nov 29 16:07:40 2027 GMT
        Subject: C=US, O=Test, CN=Test
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus: ...
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 Subject Key Identifier: 
                92:D9:C4:68:BF:EA:D7:41:64:C1:92:A3:00:A0:09:06:5F:B4:61:07
# ta.pem
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 4 (0x4)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=Test, OU=Test Certificate Authority, CN=Test Root C-TA
        Validity
            Not Before: Nov 29 16:45:03 2017 GMT
            Not After : Nov 29 16:45:03 2027 GMT
        Subject: C=US, O=Test, CN=Test
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:...
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 Subject Key Identifier: 
                F1:FC:12:14:1E:93:D0:FA:9E:A6:01:D9:1D:33:BE:70:BD:79:80:FC
            X509v3 Subject Alternative Name: 
                URI:http://localhost/crl/ta.crl
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://localhost/crl/ta.crl

# client.pem
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=Test, CN=Test
        Validity
            Not Before: Nov 29 16:45:04 2017 GMT
            Not After : Nov 29 16:45:04 2019 GMT
        Subject: C=US, O=Test, CN=Test
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus: ...
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 Subject Key Identifier: 
                CB:CA:EA:1D:3D:A3:4E:D6:88:26:28:31:70:38:18:19:5C:8E:E0:B6
# ta.crl
Certificate Revocation List (CRL):
        Version 2 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: /C=US/O=Test/CN=Test
        Last Update: Nov 29 16:45:04 2017 GMT
        Next Update: Nov 30 16:45:04 2017 GMT
        CRL extensions:
            X509v3 Issuing Distrubution Point: critical
                Full Name:
                  URI:http://localhost/crl/ta.crl
                Indirect CRL

            X509v3 CRL Number: 
                1
No Revoked Certificates.
mjspier
  • 181

1 Answers1

0

openssl verify -crl_check
-CAfile ca.pem
-untrusted ta.pem
-extended_crl
-CRLfile ta.crl client1.pem