如何将Chrome的CRL集(或某些主CRL列表)用作CRL文件?


12

我正在寻找CRL主清单。我发现的最接近的东西是Chromium项目的CRLSets。我使用crlset-tools来获取crlset(crlset fetch > crl-set),然后转储序列号(crlset dump crl-set),所以我看到了以下内容:

f24196ae94078667348f02e8e37458a3a6e6aad1e0b0dc610118cce721427bfc
  03fb3b4d35074e
  03fbf94a0e6c39
  04097214d6c97c
  0442c6b3face55
  ....

我希望能够将包含所有不良序列的主列表的CRL文件传递给openssl或curl(使用openssl)。例如,我不仅希望传递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

如果有人对我要说的事情有任何想法或执行此操作的任何创造性方法,请告诉我。谢谢


来自crlset的文件格式不兼容。
bentek 2014年

Answers:


0

这可能无法实现,至少以您想要的形式。

考虑到在Chrome的CRL集中,(可能)有多个 CA 撤销的证书。包含来自多个 CA的证书的单个CRL文件被称为“间接CRL”。间接CRL支持不佳;看这里这里 ; OpenSSL可能无法执行此操作。

此外,正如@bentek提到的,CRLsets格式似乎不兼容。具体而言,CRLsets格式不包含所有必需的CRL字段;具体而言,参见RFC 5280第5.1节。CRLsets包含(根据其文档)发布证书的主题公用密钥信息的SHA-256哈希值,以及该发布证书中已撤销证书的证书序列号。如果我们愿意,没有足够的信息来重建直接 CRL(即,每个CA一个CRL文件)。恕我直言,最大的缺漏是名字撤销证书的发行者的(DN)。CRLsets为我们提供了一个“指纹”(SHA-256 SPKI哈希),但是,鉴于Internet的范围,将指纹映射到相关证书的DN并不是一件容易的事。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.