如何使用OpenSSL将nameRelativeToCRLIssuer添加到CRL

我正在尝试使用OpenSSL创build一个证书,其中使用的是DirectoryPoint URL的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 

它创build了以下证书[由于这是一个业务环境,因此编辑了几个部分]:

 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,它是一个全名和nameRelativeToCRLIssuer之间的selectvariables。 我已经连续几天把我的头撞在墙上,没有任何真正的进展。 任何人可以给予任何帮助将非常感激。

从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 ,而不是像使用fullname值那样的URI。

有关其他示例,请参阅此处 。

希望这可以帮助!