我正在尝试使用 OpenSSL 创建带有 nameRelativeToCRLIssuer 属性(而不是 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: .....
根据请求函数它是 fullName 和 nameRelativeToCRLIssuer 之间的选择变量。我已经为此绞尽脑汁好几天了,却没有取得任何实质性进展。如果有人能提供任何帮助,我将不胜感激。
答案1
来自 OpenSSLx509v3_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,而不是像使用fullname
值那样的 URI。
有关其他示例,请参阅这里。
希望这可以帮助!