B.4. CRL 扩展
B.4.1. 关于 CRL 扩展 复制链接链接已复制到粘贴板!
自初始发布以来,对 CRL 格式的 X.509 标准已被修改,以在 CRL 中包含其他信息。此信息通过 CRL 扩展添加。
ANSI X9 和 ISO/IEC/ITU 为 X.509 CRLs [X.509] [X9.55] 定义的扩展允许额外的属性与 CRL 关联。Internet X.509 公钥基础架构证书和 CRL 配置文件位于 RFC 5280 中,建议在 CRL 中使用一组扩展。这些扩展称为 标准 CRL 扩展。
标准还允许创建自定义扩展,并包含在 CRL 中。这些扩展称为 私有、专有 或自定义 CRL 扩展,并将信息提供给组织或业务。应用程序可能无法验证包含私有关键扩展的 CRL,因此不建议在一般上下文中使用自定义扩展。
抽象语法 Notation One (ASN.1)和 Distinguished Encoding Rules (DER)标准在 CCITT Recommendations X.208 和 X.209 中指定。有关 ASN.1 和 DER 的快速摘要,请参阅 Layman 的指南为 ASN.1、BER 和 DER,该指南位于 RSA 实验室器的网站 http://www.rsa.com。
B.4.1.1. CRL 扩展的结构 复制链接链接已复制到粘贴板!
CRL 扩展由以下部分组成:
-
扩展的对象标识符(OID)。此标识符唯一标识扩展。它还决定 value 字段中值的 ASN.1 类型以及如何解释值。当扩展出现在 CRL 中时,OID 显示为扩展 ID 字段(
extnID
),对应的 ASN.1 编码结构显示为 octet 字符串(extnValue
)的值;示例显示在 例 B.4 “用户打印证书扩展示例” 中。 名为
critical
的标记或布尔值字段。分配给此字段的
true
或false
值指示扩展是否为 CRL 的关键或非关键值。- 如果扩展至关重要,并且将 CRL 发送到不根据扩展 ID 了解扩展的应用程序,应用程序必须拒绝 CRL。
- 如果扩展不是关键的,并且 CRL 发送到根据扩展 ID 不理解扩展的应用程序,则应用程序可以忽略扩展并接受 CRL。
- 包含扩展名值的 DER 编码的 octet 字符串。
接收 CRL 的应用会检查扩展 ID,以确定它是否可以识别 ID。如果它可以,它可以使用扩展 ID 来决定所使用的值类型。
B.4.1.2. CRL 和 CRL 条目扩展示例 复制链接链接已复制到粘贴板!
以下是 X.509 CRL 版本 2 扩展的示例。证书系统可以以可读的用户打印格式显示 CRL,如下所示。如示例所示,CRL 扩展按顺序出现,每个 CRL 只能有一个特定扩展的实例。例如,CRL 只能包含一个授权密钥标识符扩展。但是,CRL-entry 扩展会出现在 CRL 中的相应条目中。
delta CRL 是 CRL 的子集,仅包含自上次 CRL 发布以来的更改。任何包含 delta CRL 指示符扩展的 CRL 都是一个 delta CRL。
B.4.2. 标准 X.509 v3 CRL 扩展参考 复制链接链接已复制到粘贴板!
除了证书扩展外,X.509 建议的标准还定义了 CRL 的扩展,它提供了将额外属性与互联网 CRL 关联的方法。以下是两种类型之一:对 CRL 本身的扩展,并扩展到 CRL 中的单个证书条目。
B.4.2.1. CRL 的扩展 复制链接链接已复制到粘贴板!
以下 CRL 描述定义为互联网 X.509 v3 公钥基础架构建议的标准的一部分。
B.4.2.1.1. authorityInfoAccess 复制链接链接已复制到粘贴板!
授权信息访问扩展标识如何获取 delta CRL 信息。newestCRL 扩展放在完整的 CRL 中,以指示在哪里查找最新的 delta CRL。
OID
1.3.6.1.5.5.7.1.1
严重性
PKIX 要求此扩展不能至关重要。
参数 | 描述 |
---|---|
enable | 指定规则是否启用或禁用。默认值为禁用此扩展。 |
critical | 设置扩展是否标记为关键;默认值为非关键。 |
numberOfAccessDescriptions | 表示访问描述的数量,从 0 到任意正整数;默认值为 0。 当将此参数设置为 0 以外的整数时,设置数字,然后单击 OK 以关闭窗口。重新打开规则的编辑窗口,以及设置点的字段将存在。 |
accessMethodn | 此参数唯一接受的值是 caIssuers。当可用信息列表可用于验证 CRL 上的签名的证书时,会使用 caIssuers 方法。当 CRL 中包含 AIA 扩展时,不应使用其他方法。 |
accessLocationTypen |
指定 n 访问描述的访问位置类型。选项是 |
accessLocationn |
如果将
如果将 |
B.4.2.1.2. authorityKeyIdentifier 复制链接链接已复制到粘贴板!
CRL 的授权密钥标识符扩展标识与用于为 CRL 签名的私钥对应的公钥。详情请查看证书扩展中的讨论 第 B.3.2 节 “authorityKeyIdentifier”。
PKIX 标准建议 CA 必须在所有 CRL 中包括此扩展,因为 CA 的公钥可以改变,例如当密钥被更新时,或者 CA 可能会有多个签名密钥,因为多个并发密钥对或密钥改变。在这些情况下,CA 以多个密钥对结束。在证书上验证签名时,其他应用程序需要知道在签名中使用哪个密钥。
OID
2.5.29.35
参数 | 描述 |
---|---|
enable | 指定规则是否启用或禁用。默认值为禁用此扩展。 |
critical | 设置扩展是否标记为关键;默认值为非关键。 |
B.4.2.1.3. CRLNumber 复制链接链接已复制到粘贴板!
CRLNumber 扩展指定 CA 发布的每个 CRL 的连续数字。它允许用户轻松确定何时将特定的 CRL 取代另一个 CRL。PKIX 要求所有 CRL 都具有此扩展。
OID
2.5.29.20
严重性
这个扩展不能至关重要。
参数 | 描述 |
---|---|
enable | 指定是否启用了规则,这是默认设置。 |
critical | 设置扩展是否标记为关键;默认值为非关键。 |
B.4.2.1.4. deltaCRLIndicator 复制链接链接已复制到粘贴板!
deltaCRLIndicator 扩展生成 delta CRL,仅包含从最后一个 CRL 吊销的证书列表,还包括对基础 CRL 的引用。这会更新本地数据库,同时忽略已存在于本地数据库中的未更改的信息。这可以显著提高以 CRL 结构以外的格式存储撤销信息的应用程序处理时间。
OID
2.5.29.27
严重性
PKIX 要求如果扩展存在,则此扩展至关重要。
参数 | 描述 |
---|---|
enable | 设置是否启用了规则。默认情况下,它被禁用。 |
critical | 设置扩展是否为关键还是非关键。默认情况下,这很重要。 |
B.4.2.1.5. FreshestCRL 复制链接链接已复制到粘贴板!
newestCRL 扩展标识如何获取 delta CRL 信息。newestCRL 扩展放在完整的 CRL 中,以指示在哪里查找最新的 delta CRL。
OID
2.5.29.46
严重性
PKIX 要求此扩展必须为非关键。
参数 | 描述 |
---|---|
enable | 设置是否启用了扩展规则。默认情况下禁用此设置。 |
critical | 将扩展标记为 critical 或 noncritical。默认值为 noncritical。 |
numPoints |
表示 delta CRL 的发布点数,从 |
pointTypen |
指定 n emit 点的发布点的类型。对于 |
pointNamen |
如果将
如果 |
B.4.2.1.6. issuerAltName 复制链接链接已复制到粘贴板!
Issuer Alternative Name 扩展允许额外的身份与 CRL 的签发者关联,如绑定属性,如电子邮件地址、DNS 名称、IP 地址(IPv4 和 IPv6),以及一个统一的资源指示器(URI),以及 CRL 签发者。详情请查看证书扩展中的讨论 第 B.3.7 节 “issuerAltName extension”。
OID
2.5.29.18
参数 | 描述 |
---|---|
enable | 设置是否启用了扩展规则;默认情况下,这是禁用的。 |
critical | 设置扩展是否至关重要;默认情况下,这并不重要。 |
numNames |
设置扩展中允许的备用名称或身份总数。每个名称都有一组配置参数 |
nameTypen | 指定常规名称类型 ; 可以是以下任意一种:
|
Namen |
指定 general-name 值;允许的值取决于
|
B.4.2.1.7. issuingDistributionPoint 复制链接链接已复制到粘贴板!
颁发发布点 CRL 扩展标识特定 CRL 的 CRL 发布点,并指示它涵盖的撤销类型,如只撤销最终证书、仅 CA 证书或撤销具有有限原因代码的证书。
PKIX Part 我不需要此扩展。
OID
2.5.29.28
严重性
PKIX 要求如果扩展存在,则此扩展至关重要。
参数 | 描述 |
---|---|
enable | 设置是否启用了扩展;默认禁用。 |
critical | 将扩展标记为 critical、default 或 noncritical。 |
pointType | 指定来自以下内容的发布发布点的类型:
|
pointName |
提供发布发布点的名称。发行版点的名称取决于为
注意 CRL 可以存储在与 CRL 发布点对应的目录中,该条目可能与 CA 的目录条目不同。 |
onlySomeReasons | 指定与发布点关联的原因代码。
permissible 值是原因代码( |
onlyContainsCACerts | 指定仅在设置时包含用户证书。默认情况下不设置,这意味着发行版点包含所有类型的证书。 |
indirectCRL | 指定发行版点包含间接 CRL;默认情况下,不会选择。 |
B.4.2.2. CRL 条目扩展 复制链接链接已复制到粘贴板!
以下章节列出了定义为互联网 X.509 v3 公钥基础架构建议标准一部分的 CRL 条目扩展类型。所有这些扩展都不是关键的。
B.4.2.2.1. certificateIssuer 复制链接链接已复制到粘贴板!
证书签发者扩展标识与间接 CRL 中条目关联的证书签发者。
此扩展仅用于间接 CRL,不受证书系统支持。
OID
2.5.29.29
B.4.2.2.2. invalidityDate 复制链接链接已复制到粘贴板!
Invalidity Date 扩展提供了私钥被泄露或证书无效的日期。
OID
2.5.29.24
参数 | 描述 |
---|---|
enable | 设置扩展规则是否启用或禁用。默认情况下启用此设置。 |
critical | 将扩展标记为 critical 或 noncritical;默认情况下,这并不重要。 |
B.4.2.2.3. CRLReason 复制链接链接已复制到粘贴板!
Reason Code 扩展标识证书撤销的原因。
OID
2.5.29.21
参数 | 描述 |
---|---|
enable | 设置扩展规则是否启用或禁用。默认情况下启用此设置。 |
critical | 将扩展标记为 critical 或 noncritical。默认情况下,这不是不关键的。 |
B.4.3. Netscape 定义的证书扩展参考 复制链接链接已复制到粘贴板!
Netscape 为其产品定义了某些证书扩展。有些扩展现已过时,其他扩展已被 X.509 建议的标准中定义的扩展替代。所有 Netscape 扩展都应标记为非关键扩展,因此其证书中存在不会使证书与其他客户端不兼容。
B.4.3.1. netscape-cert-type 复制链接链接已复制到粘贴板!
Netscape 证书类型扩展可用于限制可以使用证书的目的。它已被 X.509 v3 扩展 第 B.3.6 节 “extKeyUsage” 和 第 B.3.3 节 “basicConstraints” 替代。
如果证书中存在扩展,它会将证书限制为其中指定的使用。如果没有扩展名,则证书可用于所有应用程序,但对象签名除外。
该值是一个位字符串,其中单独的位位置(在设置时)认证特定使用的证书,如下所示:
- 位 0:SSL 客户端证书
- 位 1:SSL 服务器证书
- 第 2 位:S/MIME 证书
- 第 3 位:对象签名证书
- 第 4 位: reserved
- 第 5 位:SSL CA 证书
- 位 6:S/MIME CA 证书
- 位 7:对象签名 CA 证书
OID
2.16.840.1.113730.1.1
B.4.3.1.1. Netscape-comment 复制链接链接已复制到粘贴板!
此扩展名的值是 IA5String。这是一个注释,可在查看证书时向用户显示。
OID
2.16.840.1.113730.13