Openssl
具有多個名稱的 CRL 分發點
我想創建一個帶有 CRL 分發點的證書,其中包含多個 URL(根據 RFC 5280,指向同一個 CRL):
當 OpenSSL 解析此類證書時,它會顯示如下內容:
X509v3 CRL Distribution Points: Full Name: URI:http://addr1 URI:http://addr2 ...
如何自己創建這樣的證書,最好使用openssl?
要定義 GeneralNames 的序列,您需要使用完整格式在 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
如果您需要密碼保護私鑰,請刪除。讓 CA 簽署上面生成的 CSR。