Назад | Перейти на главную страницу

Как добавить nameRelativeToCRLIssuer в CRL с помощью OpenSSL

Я пытаюсь создать сертификат с помощью OpenSSL с атрибутом nameRelativeToCRLIssuer для URL-адреса DistributionPoint, а не с атрибутом fullName. Я использовал следующий файл extfile.cnf, чтобы попытаться создать nameRelativeToCRLIssuer:

    crlDistributionPoints=crldp1_section

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

и подписал с помощью следующей команды openssl:

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

который создает следующий сертификат [с несколькими отредактированными частями, поскольку это бизнес-контекст]:

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: .....

Согласно RFC это переменная выбора между fullName и nameRelativeToCRLIssuer. Я бился головой об стену по этому поводу в течение нескольких дней, но без особого прогресса. Любая помощь, которую может дать кто угодно, будет очень признательна.

Из OpenSSL x509v3_config документы, а не использовать:

crlDistributionPoints=crldp1_section

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

Вы бы хотели сделать что-то вроде:

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

Интересно, что при использовании OpenSSL relativename значение предназначено для указания только (относительного) DN, а не URI, который можно сделать с помощью fullname стоимость.

Дополнительный пример см. Вот.

Надеюсь это поможет!