标准
CRL fields
-- 版本、时间、证书序列号和扩展名
-- 都是在4.1节的ASN.1中定义的
-- AlgorithmIdentifier 在第 4.1.1.2 节中定义
以下各项描述了 X.509 v2 CRL 在 Internet PKI 中的使用。
关于签名值和验证
signatureValue 字段包含根据 ASN.1 DER 编码的 tbsCertList 计算的数字签名。 ASN.1 DER 编码的 tbsCertList 用作签名函数的输入。 此签名值被编码为 BIT STRING 并包含在 CRL signatureValue 字段中。 [RFC3279]、[RFC4055] 和 [RFC4491] 中为每个受支持的算法指定了此过程的详细信息。 同时也是 CRL 颁发者的 CA 可以使用一个私钥对证书和 CRL 进行数字签名,或者可以使用单独的私钥对证书和 CRL 进行数字签名。 当使用单独的私钥时,与这些私钥关联的每个公钥都放在一个单独的证书中,一个在密钥使用扩展中设置了 keyCertSign 位,另一个在密钥使用扩展中设置了 cRLSign 位(第 4.2.1.3). 当使用单独的私钥时,CA 颁发的证书包含一个授权密钥标识符,而相应的 CRL 包含不同的授权密钥标识符。 使用单独的 CA 证书来验证证书签名和 CRL 签名可以提供改进的安全特性; 但是,它会给应用程序带来负担,并且可能会限制互操作性。 许多应用程序构建一个认证路径,然后验证该认证路径(第 6 节)。 CRL 检查反过来需要为 CA 的 CRL 签名验证证书构建和验证单独的证书路径。 当证书和 CRL 使用相同的 CA 私钥进行数字签名时,执行 CRL 检查的应用程序必须支持证书路径验证。 当证书和 CRL 使用不同的 CA 私钥进行数字签名时,这些应用程序应该支持证书路径验证
要签名的证书列表 Certificate List "To Be Signed"
要签名的证书列表或 TBSCertList 是一系列必填字段和可选字段。 必填字段标识 CRL 颁发者、用于签署 CRL 的算法以及 CRL 颁发的日期和时间。 可选字段包括 CRL 颁发者将颁发下一个 CRL 的日期和时间、已撤销证书的列表和 CRL 扩展。 撤销的证书列表是可选的,以支持 CA 尚未撤销其已颁发的任何未过期证书的情况。 此配置文件要求符合要求的 CRL 发布者在所有发布的 CRL 中包括 nextUpdate 字段和 CRL 编号和权威密钥标识符 CRL 扩展。
Reason Code
reason值: 00 - 0a
比如:
01 密钥泄露 keyCompromise
04 取代 superseded
0a = 10 标识 ENUMERATED类型
示例
有吊销列表的情况
没有吊销列表的情况