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 信息。latestestCRL 扩展放置在完整的 CRL 中,以指示查找最新 delta CRL 的位置。

OID

1.3.6.1.5.5.7.1.1

严重程度

PKIX 要求此扩展必须不是关键。

参数

 

表 B.39. 授权信息访问配置参数

参数 描述
enable 指定规则是启用还是禁用。默认值为禁用这个扩展。
critical 设定扩展是否标记为关键; 默认为非关键。
numberOfAccessDescriptions
表示访问描述的数量,从 0 到任意正整数,默认为 0。
当将此参数设置为 0 以外的整数时,设置数字,然后单击 OK 以关闭该窗口。重新打开该规则的编辑窗口,以及要设置点的字段存在。
accessMethodn 这个参数只接受的值是 caIssuers。当可用信息列出了可用于验证 CRL 中的签名的证书时,使用 caIssuers 方法。当将 AIA 扩展包含在 CRL 中时,不应使用其他方法。
accessLocationTypen 指定 n 访问描述的访问位置类型。选项可以是 DirectoryNameURI
accessLocationn
如果将 accessLocationType 设为 DirectoryName,则该值必须是 X.500 名称的形式的字符串,类似于证书中的主题名称。例如, CN=CACentral,OU=Research Dept,O=Example Corporation,C=US
如果将 accessLocationType 设为 URI,则名称必须是 URI; URI 必须是绝对路径名,必须指定主机。例如 :http://testCA.example.com/get/crls/here/
B.4.2.1.2. authorityKeyIdentifier
CRL 的授权密钥标识符扩展标识与用于为 CRL 签名的私钥对应的公钥。详情请查看 第 B.3.2 节 “authorityKeyIdentifier” 上的证书扩展讨论。
PKIX 标准建议 CA 必须将其扩展包含在所有 CRL 中,因为 CA 的公钥可能会改变,例如:当密钥被更新时,或者 CA 可能会有多个签名密钥,因为多个并发密钥对或密钥更改。在这些情况下,CA 以多个密钥对结束。在验证证书上的签名时,其他应用程序需要知道签名中使用了哪个密钥。

OID

2.5.29.35

参数

 

表 B.40. AuthorityKeyIdentifierExt Configuration Parameters

参数 描述
enable 指定规则是启用还是禁用。默认值为禁用这个扩展。
critical 设定扩展是否标记为关键; 默认为非关键。
B.4.2.1.3. CRLNumber
CRLNumber 扩展指定 CA 发布的每个 CRL 的后续数字。它允许用户轻松确定特定 CRL 何时取代另一个 CRL。PKIX 要求所有 CRL 都有此扩展。

OID

2.5.29.20

严重程度

这个扩展不一定是关键。

参数

 

表 B.41. CRLNumber 配置参数

参数 描述
enable 指定规则是否启用,这是默认设置。
critical 设定扩展是否标记为关键; 默认为非关键。
B.4.2.1.4. deltaCRLIndicator
deltaCRLIndicator 扩展会生成 delta CRL,它只包含自上一次 CRL 开始被撤销的证书列表;它还包括对基本 CRL 的引用。这会更新本地数据库,同时忽略了本地数据库中已更改的信息。这可为以 CRL 结构以外的格式存储撤销信息的应用程序显著提高处理时间。

OID

2.5.29.27

严重程度

PKIX 要求此扩展在存在时具有关键性。

参数

 

表 B.42. DeltaCRL 配置参数

参数 描述
enable 设定是否启用该规则。默认情况下禁用它。
critical 设定扩展是否关键(uncritical)还是非关键。默认情况下,这是关键。
B.4.2.1.5. FreshestCRL
freshestCRL 扩展标识如何获取 delta CRL 信息。latestestCRL 扩展放置在完整的 CRL 中,以指示查找最新 delta CRL 的位置。

OID

2.5.29.46

严重程度

PKIX 要求此扩展必须不是关键。

参数

 

表 B.43. FreshestCRL 配置参数

参数 描述
enable 设定是否启用扩展规则。默认情况下禁用它。
critical 将扩展名标记为关键或非关键。默认为非关键。
numPoints 表示 delta CRL 发出点的数量,从 0 到任何正整数,默认值为 0。当将其设置为 0 以外的整数时,设置数字,然后单击 OK 以关闭该窗口。重新打开规则的编辑窗口,以及设置这些点的字段存在。
pointTypen 指定 n 点的发布点的类型。对于 numPoint 中指定的每个数字,会有一个相等的 pointType 参数。选项可以是 DirectoryNameURIName
pointNamen
如果将 pointType 设置为 directoryName,则值必须是以 X.500 名称的形式的字符串,与证书中的主题名称类似。例如,CN=CACentral,OU=Research Dept,O=Example Corporation,C=US
如果将 pointType 设置为 URIName,则名称必须是 URI; URI 必须是绝对路径名,必须指定主机。例如 :http://testCA.example.com/get/crls/here/
B.4.2.1.6. issuerAltName
Issuer Alternative Name 扩展允许其他身份与 CRL 的签发者关联,如绑定属性,如地址、DNS 名称、IP 地址(包括 IPv4 和 IPv6)以及统一的资源指示符(URI),以及 CRL 签发者。详情请查看 第 B.3.7 节 “issuerAltName 扩展” 上的证书扩展讨论。

OID

2.5.29.18

参数

 

表 B.44. IssuerAlternativeName 配置参数

参数 描述
enable 设定扩展规则是否启用;默认情况下,这是禁用的。
critical 设定扩展是否至关重要。默认情况下,这不是非常关键。
numNames 设置扩展名中允许的备用名称或身份总数。每个名称都有一组配置参数,nameTypename,它必须具有适当的值,或者规则返回错误。通过更改此字段中指定的值来更改身份总数;扩展名中可以包括的身份总数没有限制。各组配置参数可通过从此字段值派生的整数区分。例如,如果 numNames 参数设置为 2,则派生的整数为 01
nameTypen
指定 General-name 类型,这可以是以下任意一种:
  • 如果名称是互联网邮件地址,则 rfc822Name
  • 如果 名称是 X.500 目录名,则名名。
  • 如果名称是 DNS 名称,dnsName
  • 如果 名称是 EDI 方名称,则由第三方名称使用。
  • 名称是 URI(默认)的 URL
  • 如果名称是 IP 地址,ipaddress。IPv4 地址的格式必须为 n.n.n 或 n .n.n,m.m.m。例如:128 .21.39.40128.21.39.40,255.255.255.00。IPv6 地址使用 128 位命名空间,使用以冒号分隔的 IPv6 地址以及句点分隔的子网掩码。例如: 0:0:0:0:0:0:13.1.68.3,FF01::43,0:0:0:0:0:0:13.1.68.3,FFFF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF: FF:FF:FF:FF: FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF: FF
  • OID (如果名称是对象标识符)。
  • 如果 名称 采用任何其他名称格式,则支持 PrintableStringIA5StringUTF8StringBMPStringAny、和 KerberosName
namen
指定 general-name 值;允许的值取决于 nameType 字段中指定的名称类型。
  • 对于 rfc822Name,该值必须是 local-part@domain 格式的有效互联网邮件地址。
  • 对于 directoryName,该值必须是 X.500 名称,与证书中的主题名称类似。例如,CN=CACentral,OU=Research Dept,O=Example Corporation,C=US
  • 对于 dNSName,该值必须是 DNS 格式的有效域名。例如,testCA.example.com
  • 对于 edipartyName,名称必须是 IA5String。例如,Sartor 公司示例
  • 对于 URL,值必须是非相对 URI。例如 :http://testCA.example.com
  • 对于 iPAddress,该值必须是以点分隔的数字组件表示法指定的有效 IP 地址。它可以是包括子网掩码的 IP 地址或 IP 地址。IPv4 地址的格式必须为 n.n.n 或 n .n.n,m.m.m。例如:128 .21.39.40128.21.39.40,255.255.255.00。IPv6 地址使用 128 位命名空间,使用以冒号分隔的 IPv6 地址以及句点分隔的子网掩码。例如: 0:0:0:0:0:0:13.1.68.3,FF01::43,0:0:0:0:0:0:13.1.68.3,FFFF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF: FF:FF:FF:FF: FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF: FF
  • 对于 OID,该值必须是唯一且有效的 OID,在点分隔的数字组件标记中指定。例如,1.2.3.4.55.6.5.99。虽然自定义 OID 可用于评估和测试服务器(在生产环境中),但遵循用于定义 OID 和注册 ID 子树的 ISO 规则。
  • 对于其他名称,名称可以是任何其他格式;这支持 PrintableStringIA5StringUTF8StringBMPStringAny、和 KerberosNamePrintableString,IA5String,UTF8String,BMPString, and any set a string to a base-64 编码文件指定子树,如 /var/lib/pki/pki-tomcat/ca/othername.txtKerberosName 具有 Realm|NameType|NameStrings 格式,如 realm1|0|userID1,userID2。名称必须是文件的绝对路径,该文件必须以 base-64 编码格式包含通用名称。例如: /var/lib/pki/pki-tomcat/ca/extn/ian/othername.txt
B.4.2.1.7. issuingDistributionPoint
发行的发布点 CRL 扩展可识别特定 CRL 的 CRL 分发点,并指示其定义的撤销类型,如只撤销具有有限原因代码的最终用户证书、CA 证书或撤销具有有限原因代码的证书。
PKIX 第 I 部分不需要此扩展。

OID

2.5.29.28

严重程度

PKIX 要求此扩展在存在时具有关键性。

参数

 

表 B.45. IssuingDistributionPoint 配置参数

参数 描述
enable 设定是否启用扩展;默认是禁用的。
critical 将扩展名标记为 critical、default 或 noncritical。
pointType
指定从以下内容发出的发行点的类型:
  • directory name 指定类型是 X.500 目录名称。
  • URI 指定类型是统一的资源指示器。
  • RelativeToIssuer 指定类型是一个相对可分名称(RDN),它代表了 DN 的单个节点,如 ou=Engineering
pointName
给出发布发布点的名称。发行版点的名称取决于为 pointType 参数指定的值。
  • 对于 directoryName,名称必须是 X.500 名称。例如: cn=CRLCentral,ou=Research Dept,o=Example company,c=US
  • 对于 URIName,名称必须是 URI,它是绝对路径名并指定主机。例如 :http://testCA.example.com/get/crls/here/
注意
CRL 可以存储在与 CRL 发出点对应的目录条目中,该条目可能与 CA 的目录条目不同。
onlySomeReasons
指定与发布点关联的代码的原因。
Permissible 值是原因代码的组合(未指定的keyCompromisecACompromise、ffiliationChangedit eded、cessationOf Oper、certificateHoldremoveFromCRL)。如果发行版点包含具有所有原因代码(默认)的已撤销证书,则将该字段留空。
onlyContainsCACerts 指定分发点仅在设置时包含用户证书。默认情况下不设置,这意味着分发点包含所有类型的证书。
indirectCRL 指定分发点包含间接 CRL;默认情况下,不会选择此设置。