複数の名前を持つ CRL 配布ポイント

複数の名前を持つ CRL 配布ポイント

複数の URL (RFC 5280 に従って同じ CRL を指す) を含む CRL 配布ポイントを持つ証明書を作成したいと思います。

OpenSSL がこのような証明書を解析すると、次のような内容が表示されます。

            X509v3 CRL Distribution Points: 

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

できれば openssl を使用して、このような証明書を自分で作成するにはどうすればよいでしょうか?

答え1

GeneralNames の SEQUENCE を定義するには、次の完全な形式を使用して OpenSSL 構成で crlDistributionPoints を定義する必要があります。

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秘密キーをパスワードで保護する必要がある場合は、を削除してください。

上記で生成された CSR に CA が署名します。

関連情報