Como adicionar nameRelativeToCRLIssuer à CRL usando OpenSSL

2

Estou tentando criar um certificado usando o OpenSSL com um atributo nameRelativeToCRLIssuer para o URL do DistributionPoint, em vez de um atributo fullName. Eu tenho usado o seguinte extfile.cnf para tentar a geração de um nameRelativeToCRLIssuer:

    crlDistributionPoints=crldp1_section

    [crldp1_section]
    namerelativetocrlissuer=URI:http://www.example.com/root.crl

e assinado com o seguinte comando openssl:

    openssl x509 -req -in signingrequest.csr -extfile extfile.cnf -CAform PEM -CA ca.pem -CAkey ca.key -CAcreateserial -out certificate.pem -days 1825

que cria o seguinte certificado [com algumas partes editadas, já que este é um contexto de negócios]:

Certificate:
Data:
    Version: 3 (0x2)
    Serial Number: 10317047815326669373 (0x8f2d845373441a3d)
Signature Algorithm: .....
    Issuer: .....
    Validity
        Not Before: Mar 18 19:46:21 2016 GMT
        Not After : Mar 17 19:46:21 2021 GMT
    Subject: .....
    Subject Public Key Info:
        Public Key Algorithm: id-ecPublicKey
            Public-Key: (256 bit)
            pub: 
                04:23:39:f3:76:a6:cf:35:6d:af:9b:39:7a:87:57:
                be:4b:c3:05:01:17:3e:4a:bb:de:44:ce:88:c0:91:
                2d:92:5c:c5:d7:0e:f4:a4:e6:8c:25:58:a1:bb:38:
                e9:be:22:d6:9a:04:ac:6d:f9:35:c8:ec:fe:48:0a:
                c3:0d:6f:14:1f
            ASN1 OID: prime256v1
            NIST CURVE: P-256
    X509v3 extensions:
        X509v3 CRL Distribution Points: 


Signature Algorithm: .....

De acordo com a RFC , é uma variável de escolha entre fullName e nameRelativeToCRLIssuer. Eu tenho batido minha cabeça contra a parede sobre isso por vários dias sem nenhum progresso real feito. Qualquer ajuda que alguém pudesse dar seria muito apreciada.

    
por ianhj0392 18.03.2016 / 20:15

1 resposta

0

No OpenSSL x509v3_config docs , em vez de usar:

crlDistributionPoints=crldp1_section

[crldp1_section]
namerelativetocrlissuer=URI:http://www.example.com/root.crl

Você gostaria de fazer algo como:

crlDistributionPoints=crldp1_section

[crldp1_section]
relativename=@relname_section

[relname_section]    
C       = US
O       = Org, Inc.
0.OU    = Org Unit 1
1.OU    = Sub Org Unit 2
CN      = relative common name

Curiosamente, usando o OpenSSL, o valor relativename é para especificar apenas um (relativo) DN , não um URI, como pode ser feito usando o valor fullname .

Para um exemplo adicional, consulte aqui .

Espero que isso ajude!

    
por 19.03.2016 / 21:30