Openssl

如何使用 Chrome 的 CRL 集(或一些主 CRL 列表)作為 CRL 文件?

  • February 19, 2016

我正在尋找主 CRL 列表。我發現最接近的是 Chromium 項目的CRLSets。我使用crlset-tools獲取 crlset ( crlset fetch > crl-set),然後轉儲序列號 ( crlset dump crl-set),所以我看到如下內容:

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

我希望能夠將包含所有壞序列的主列表的 CRL 文件傳遞給 openssl 或 curl(使用 openssl)。例如,不只是傳入威瑞信的 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

如果有人對如何做我所說的事情或任何創造性的方法有任何想法,請告訴我。謝謝

這可能是不可能的,至少以您想要的形式。

考慮到在 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 並非易事。

引用自:https://serverfault.com/questions/562578