[2] [DFN[CRL]] ([DFN[Certificate Revocation List]]) は、
[[失効][失効 (証明書)]]した[[証明書]]に関する情報をまとめたものです。

* 仕様書

[REFS[
- [17] [CITE@en[RFC 2585 - Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP]] ([TIME[2015-03-22 13:17:09 +09:00]] 版) <http://tools.ietf.org/html/rfc2585>
- [21] [CITE[RFC Errata Report]] ([TIME[2015-04-11 22:30:06 +09:00]] 版) <http://www.rfc-editor.org/errata_search.php?rfc=2585>
- [28] [CITE@en[RFC 7468 - Textual Encodings of PKIX, PKCS, and CMS Structures]] ([TIME[2015-04-20 12:22:43 +09:00]] 版) <https://tools.ietf.org/html/rfc7468#section-6>
]REFS]

* ファイル形式

[24] [[CRL]] のファイル形式には次のものがあります。
[FIG(short list)[
- [[DER]] (>>18)
- [CODE[[[.pem]]]] (>>29)
]FIG]

* 文脈

[27] [[PKCS #7]] データ構造に含まれることがあります。

* DER 符号化

[18] [[CRL]] を [[DER]] [[符号化]]したものの [[MIME型]]は
[DFN[[CODE(MIME)@en[[[application/pkix-crl]]]]]] です [SRC[>>17]]。

[20] [[引数]]に [CODE(MIME)@en[[[version]]]] があります [SRC[>>17, >>21]]。

[23] [[MIME型]]には他に [CODE(MIME)@en[[[application/x-pkcs7-crl]]]]
や [CODE(MIME)@en[[[application/x-x509-crl]]]] があります [SRC[>>22]]。

;; [25] [[PKCS #7]] と名前に入っていますが実際には [[X.509]] [[証明書]]を表しているらしく
[SRC[>>22, >>26]] 謎です。

[19] [[拡張子]]として [CODE[[[.crl]]]] が使われます [SRC[>>17]]。

* [CODE[.pem]] 符号化

[29] [CODE[[[.pem]]]] ファイルでは、ラベル [DFN[[CODE[[[X509 CRL]]]]]]
を使います [SRC[>>28]]。

[30] データは、 [[ASN.1]] [CODE[[[CertificateList]]]] です。
[[BER]] でなければ[['''なりません''']]。 [[DER]]
が[RUBYB[非常に好ましいです]@en[strongly preferred]]。 [SRC[>>28]]

[31] ラベルとしては [DFN[[CODE[[[CRL]]]]]] も稀に用いられましたが、
一般的ではありません。従って [CODE[[[X509 CRL]]]] を使わなければ[['''ならず''']]、
構文解析器も [CODE[[[CRL]]]] に対応する[['''べきではありません''']]。 [SRC[>>28]]

* プロトコル

[FIG(middle list)[ [1] [[CRL]] の配布プロトコル
- [[X.500]] / [[LDAP]] による配布
- [[HTTP]] による配布
- [[FTP]] による配布
- [[電子メール]]による配布
]FIG]

[FIG(short list)[ [8] [[CRL]] の[[プロトコル要素]]
- [[CRLDistributionPoints]]
- [[AIA]]
]FIG]

[15] [[失効][失効 (証明書)]]も参照。

* メモ

[10] [[CRL issuer]]

[11] [CITE@en[RFC 5280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile]]
([TIME[2015-02-22 15:44:10 +09:00]] 版)
<http://tools.ietf.org/html/rfc5280#section-3.3>

[12] [CITE@en[RFC 5280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile]]
([TIME[2015-02-22 15:44:10 +09:00]] 版)
<http://tools.ietf.org/html/rfc5280#section-5>

[13] [CITE[RFC Errata Report]]
([TIME[2015-03-23 15:33:39 +09:00]] 版)
<http://www.rfc-editor.org/errata_search.php?rfc=5280>

[14] [CITE@en[RFC 6818 - Updates to the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile]]
([TIME[2014-12-21 17:28:26 +09:00]] 版)
<http://tools.ietf.org/html/rfc6818>

[FIG(quote)[
[FIGCAPTION[
[16] ([TIME[2014-11-01 05:54:38 +09:00]] 版)
<https://cabforum.org/wp-content/uploads/BRv1.2.3.pdf#page=9>
]FIGCAPTION]

> Certificate Revocation List: A regularly updated time-stamped list of revoked Certificates that is created and
digitally signed by the CA that issued the Certificates. 

]FIG]

[22] [CITE@en[559769 – libpkix should allow the content-type application/x-pkcs7-crl when downloading a CRL over HTTP]] ([TIME[2015-04-11 22:49:57 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=559769>

[26] [CITE['Re: content-type application/x-pkcs7-crl' - MARC]] ([TIME[2015-04-11 22:59:12 +09:00]] 版) <http://marc.info/?l=openssl-users&m=92151321220161&w=2>

[3] [CITE@ja[CRL 処理について一旦書き出してみる - Hexa's diary]]
( ([TIME[2016-05-09 17:29:05 +09:00]]))
<http://hexa.hatenablog.com/entry/2012/12/18/015959>

[4] [CITE@en-US[CRL checking by IIS | Care, Share and Grow!]]
( ([TIME[2016-05-09 18:46:38 +09:00]]))
<https://blogs.msdn.microsoft.com/saurabh_singh/2010/12/01/crl-checking-by-iis/>

[5] [CITE@en[OpenSSL]]
( ([[OpenSSL Foundation, Inc.]]著, [TIME[2016-05-09 19:43:53 +09:00]]))
<https://www.openssl.org/docs/manmaster/apps/crl.html>

[7] [CITE[opensslによるサーバー証明書失効リスト (CRL) 確認 - IKB: 雑記帖]]
( ([TIME[2016-03-12 15:03:35 +09:00]]))
<http://d.hatena.ne.jp/i_k_b/20100112/1263293430>

[42] [CITE[The Hidden Costs of Heartbleed]]
( ([TIME[2016-05-10 00:36:49 +09:00]]))
<https://blog.cloudflare.com/the-hard-costs-of-heartbleed/>

[6] [CITE@en[CRL generation · Issue #43 · cloudflare/cfssl]]
( ([TIME[2016-05-11 23:06:33 +09:00]]))
<https://github.com/cloudflare/cfssl/issues/43>

[9] [CITE[curl - How To Use]]
([TIME[2020-09-21T09:01:13.000Z]], [TIME[2020-10-01T06:07:32.225Z]])
<https://curl.haxx.se/docs/manpage.html#--crlfile>

[32] [CITE@en[GNU Wget 1.20 Manual]]
([TIME[2020-10-01T07:26:39.000Z]])
<https://www.gnu.org/software/wget/manual/wget.html#index-SSL-CRL_002c-certificate-revocation-list>