我正在寻找一个主CRL列表。 我发现的最接近的是Chromium项目的CRLSets 。 我用crlset工具来获取crlset( crlset fetch > crl-set ),然后转储序列号( crlset dump crl-set ),所以我看到这样的事情:
f24196ae94078667348f02e8e37458a3a6e6aad1e0b0dc610118cce721427bfc 03fb3b4d35074e 03fbf94a0e6c39 04097214d6c97c 0442c6b3face55 ....
我希望能够传递openssl或curl(它使用openssl)一个包含所有坏序列的主列表的CRL文件。 例如,而不是传递verisign的crl,我希望一切都通过。我想我可以用crlset做到这一点,但我不认为格式是兼容的。 我试过openssl crl -inform DER -text -in crl-set但是它说:
unable to load CRL 5532:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c: 1319: 5532:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:ta sn_dec.c:381:Type=X509_CRL
如果任何人有任何想法如何做我说的或任何创造性的方式来做到这一点,请让我知道。 谢谢
这可能是不可能的,至less是你想要的forms。
考虑到在Chrome的CRLsets中,可能有多个 CA的多个撤销证书。 包含来自多个 CA的证书的单个CRL文件被称为“间接CRL”。 间接CRL得不到支持; 看到这里和这里 ; OpenSSL可能无法做到这一点。
另外,正如@bentek所提到的,它看起来像CRLsets格式不兼容。 具体而言,CRLsets格式不包含所有必需的CRL字段; 请参阅RFC 5280,第5.1节 。 CRLsets包含(根据其文档)发行证书的主体公钥信息的SHA-256哈希以及来自该颁发证书的撤销证书的证书序列号。 没有足够的信息来重build直接的 CRL( 即每个CA有一个CRL文件),可悲的是,如果我们想的话。 恕我直言,最大的缺失/遗漏是撤销证书发行人的名称 (DN)。 CRLsets给了我们一个“指纹”(SHA-256 SPKI散列),但是鉴于互联网的范围,将指纹映射到所述证书的DN并不是一件容易的事情。