マスター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のCRLsetには、複数のCAから(おそらく)複数の失効した証明書があることを考慮してください。 複数のCAからの証明書を含む単一のCRLファイルは、「間接CRL」と呼ばれます。間接CRLは十分にサポートされていません。 ここ および ここ を参照してください。 OpenSSLはこれを実行できない場合があります。
さらに、@ bentekが言及しているように、CRLsets形式には互換性がないようです。具体的には、CRLsets形式に必要なCRLフィールドがすべて含まれているわけではありません。 RFC 5280、セクション5.1 を参照してください。 CRLsetsには、(そのドキュメントによると)発行証明書のサブジェクト公開鍵情報のSHA-256ハッシュと、その発行証明書から取り消された証明書の証明書シリアル番号が含まれています。 directCRL(ie1つのCRLを再構築するのに十分な情報がありませんCAごとのファイル)、悲しいことに、必要に応じて。最大の欠落/脱落であるIMHOは、取り消された証明書の発行者のname(DN)です。 CRLsetsは「フィンガープリント」(SHA-256 SPKIハッシュ)を提供しますが、インターネットの範囲を考えると、そのフィンガープリントを問題の証明書のDNにマッピングすることは簡単な作業ではありません。