Точка распространения CRL с несколькими именами

Точка распространения CRL с несколькими именами

Я хотел бы создать сертификат с точкой распространения CRL, которая содержит несколько URL-адресов (указывающих на один и тот же CRL, согласно RFC 5280):

Когда OpenSSL анализирует такой сертификат, он выводит что-то вроде этого:

            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://addr1
                  URI:http://addr2
                  ...

Как создать такой сертификат самостоятельно, желательно с помощью openssl?

решение1

Чтобы определить ПОСЛЕДОВАТЕЛЬНОСТЬ GeneralNames, вам необходимо определить crlDistributionPoints в вашей конфигурации OpenSSL, используя полный формат:

crlDistributionPoints = cdp1

...

[cdp1]
fullname = URI:http://example.com/myca.crl,URI:http://example.org/my.crl

Что отображается как:

        X509v3 CRL Distribution Points:

            Full Name:
              URI:http://example.com/myca.crl
              URI:http://example.org/my.crl

Полный пример начинается с создания файла конфигурации (например example.cnf,):

[req]
prompt = no
distinguished_name = dn

[dn]
countryName = gb
organizationName = Example
commonName = Example Web Server

[ext]

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
crlDistributionPoints = cdp1
subjectAltName = @alt_names

[cdp1]
fullname = URI:http://example.com/myca.crl, URI:http://example.org/my.crl

[alt_names]
DNS.1 = www.example.com
DNS.2 = www.example.org

Используйте конфигурацию для создания запроса на подпись сертификата (CSR):

 openssl req -newkey rsa:2048 -keyout example.key  -nodes -config example.cnf -out example.csr

Обратите внимание, что вышеприведенный код создает 2048-битный ключ RSA без защиты паролем. Удалите , -nodesесли вам нужно защитить пароль на закрытом ключе.

Попросите CA подписать CSR, сгенерированный выше.

Связанный контент