附录 B. 证书和 CRL 的默认值、约束和扩展


本附录解释了 X.509 v3 定义的标准证书扩展,以及 Netscape 在 X.509 v3 之前发布的产品版本中使用的扩展。它为扩展提供了与特定类型的证书搭配使用的建议,包括 PKIX 第 1 部分建议。

重要

本附录是默认值、约束和证书以及 Red Hat Certificate System 中可配置的默认、约束和证书以及 CRL 扩展的引用。有关证书和 CRL 扩展的完整参考和说明,请参阅 RFC 3280

此附录包含以下部分:

B.1. 默认参考

默认值用于定义证书的内容。本节列出了并定义预定义的默认值。

B.1.1. 授权信息访问扩展默认

此默认 附加授权信息访问 扩展。此扩展指定应用程序验证证书如何访问信息,如在线验证服务和 CA 策略数据,有关签发证书的 CA。此扩展不应用于直接指向由 CA 维护的 CRL 位置; CRL 分发点扩展 第 B.1.7 节 “CRL 发布点扩展默认”,提供对 CRL 位置的引用。

有关此扩展的常规信息,请参考 第 B.3.1 节 “authorityInfoAccess”

以下限制可通过此默认值定义:

此默认可以定义最多五个位置,其中包含每个位置的参数。这些参数在表中标有 n,以显示与参数关联的位置。

Expand
表 B.1. authority Info 访问扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

方法_n

指定检索签发扩展的证书的附加信息的访问方法。这是以下值之一:

  • OCSP (1.3.6.1.5.5.7.48.1)。
  • caIssuers (1.3.6.1.5.5.7.48.2)
  • renewal (2.16.840.1.113730.16.1)

LocationType_n

指定位置的常规名称类型,其中包含签发证书的 CA 的额外信息。这是以下类型之一:

  • DirectoryName
  • DNSName
  • EDIPartyName
  • IPAddress
  • OID
  • RFC822Name
  • URIName

位置_n

指定地址或位置,以获取有关签发证书的 CA 的其他信息。

  • 对于 directoryName,该值必须是字符串形式为 X.500 名称,类似于证书中的主题名称。例如: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • 对于 dNSName,该值必须是有效的完全限定域名。例如,testCA.example.com
  • 对于 EDIPartyName,该值必须是 IA5String。例如,Example Corporation
  • 对于 iPAddress,该值必须是有效的 IP 地址。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.
  • 对于 OID,该值必须是唯一的、有效的 OID,在点分隔的数字组件表示法中指定。例如,1.2 .3.4.55.6.99
  • 对于 RFC822Name,该值必须是有效的互联网电子邮件地址。
  • 对于 URIName,该值必须是遵循 URL 语法和编码规则的非相对通用资源标识符(URI)。名称必须包含方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://ocspResponder.example.com:8000。证书系统允许 IPv4 和 IPv6 IP 地址。

启用_n

指定是否启用了此位置。选择 true 以将其标记为 set;选择 false 来禁用它。

B.1.2. 授权密钥标识符扩展默认

此默认将 授权密钥标识符 扩展附加到证书。扩展标识与 CA 用来签署证书的私钥对应的公钥。这个默认没有参数。如果使用,此扩展会包含在带有公钥信息的证书中。

这个默认采用以下约束:

有关此扩展的常规信息,请参考 第 B.3.2 节 “authorityKeyIdentifier”

B.1.3. 身份验证令牌主题名称默认

此配置集默认根据身份验证令牌(AuthToken)对象中的属性值填充主题名称。

此默认插件与基于目录的身份验证管理器一起工作。基于 Directory 的 User Dual-Use 证书配置文件有两个输入参数,即 UID 和密码。基于目录的身份验证管理器检查给定的 UID 和密码是否正确。

此外,基于目录的身份验证管理器将发布证书的主题名称进行公式处理。它使用 AuthToken 中的用户的 DN 值来形成主题名称。

此默认负责从 AuthToken 读取主题名称,并将其放在证书请求中,以便最终证书包含主题名称。

以下限制可通过此默认值定义:

B.1.4. 基本约束扩展默认

这个默认将 B*asic Constraint* 扩展附加到证书。扩展标识证书管理器是否为 CA。证书链验证过程中也会使用扩展来识别 CA 证书,并应用证书链路径长度限制。

有关此扩展的常规信息,请参考 第 B.3.3 节 “basicConstraints”

以下限制可通过此默认值定义:

Expand
表 B.2. 基本约束扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

IsCA

指定证书主题是否为 CA。使用 true 时,服务器会检查 PathLen 参数,并在证书中设置指定路径长度。使用 false 时,服务器会将证书主题视为非 CA,并忽略 PathLen 参数指定的值。

PathLen

指定路径长度,可链接到以下的 CA 证书的最大数量(从属 CA 证书)。路径长度会影响证书验证过程中要使用的 CA 证书数量。链从验证和移动的最终证书开始。

如果在最终用户证书中设置扩展,maxPathLen 参数无效。

允许的值是 0n。该值应小于 CA 签名证书的基本约束扩展中指定的路径长度。0 指定在从属 CA 证书下不允许有从属 CA 证书;在路径中只能遵循最终用户证书。n 必须是大于零的整数。它指定在从属 CA 证书下允许的最大从属 CA 证书数。

如果字段留空,则路径长度默认为由签发者证书中 Basic Constraints 扩展中设置的路径长度决定的值。如果签发者的路径长度为无限,则从属 CA 证书中的路径长度也将是无限的。如果签发者的路径长度大于零,则从属 CA 证书中的路径长度将设置为小于签发者路径长度的值;例如,如果签发者的路径长度为 4,则下级 CA 证书中的路径长度将设置为 3。

B.1.5. CA Validity 默认

此默认在 CA 证书注册或续订配置集中添加选项,以绕过 CA 的签名证书的过期约束。这意味着发布的 CA 证书可以有过期日期,比发布 CA 签名证书过期日期之后。

以下限制可通过此默认值定义:

Expand
表 B.3. CA Validity 默认参数
参数描述

bypassCAnotafterrange

为请求 CA 是否请求的证书设置默认值,其有效期期限已超过发布 CA 的有效性周期。

range

指定此证书的绝对有效期周期,以天数为单位。

startTime

根据当前时间设定有效期何时开始。

B.1.6. 证书策略扩展默认

此默认将证书策略 映射扩展 附加到证书模板中。此扩展定义了一个或多个策略,指示签发证书的策略以及可使用证书的目的。此默认值定义最多五个策略,但这可以是 value 来更改。

有关此扩展的常规信息,请查看 第 B.3.4 节 “certificatePoliciesExt”

Expand
表 B.4. 证书策略扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

numCertPolicies

指定可定义的策略数量。默认值为 5

enable

选择 true 来启用策略;选择 false 来禁用策略。

policyId

指定策略的 OID 标识符。

cpsURI.enable

扩展可以包括到签发者证书实践声明的 URI。选择 true 来启用 URI;选择 false 来禁用 URI。

cPSURI.value

这个值是 CA 发布的认证实践声明(CPS)的指针。指针采用 URI 的形式。

usernotice.enable

扩展可以包括到签发者证书声明的 URI,也可以以文本形式嵌入签发者信息。选择 true 来启用用户通知;选择 false 来禁用用户通知。

usernotice.noticeReference.noticeNumbers

此可选用户 notice 参数是指向其他位置存储的消息的数字序列。

usernotice.noticeReference.organization

此可选用户 notice 参数指定公司的名称。

usernotice.explicitText.value

此可选用户 notice 参数包含证书内的消息。

B.1.7. CRL 发布点扩展默认

此默认将 CRL 分发点扩展附加到证书。此扩展标识正在验证证书的应用程序可以获取 CRL 信息的位置,以验证证书的撤销状态。

有关此扩展的常规信息,请参考 第 B.3.5 节 “CRLDistributionPoints”

以下限制可通过此默认值定义:

此默认定义最多五个位置,其中包含每个位置的参数。这些参数在表中标有 n,以显示与参数关联的位置。

Expand
表 B.5. CRL 发布点扩展配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

类型_n

指定 CRL 发行版点的类型。permissible 的值包括 DirectoryNameURINameRelativeToIssuer。类型必须与 Name 字段中的值对应。

名称_n

指定 CRL 发布点的名称,名称可以采用以下格式:

  • RFC 2253 语法中的 X.500 目录名称。名称与证书中的主题名称类似,如 cn=CA Central, ou=Research Dept, o=Example Corporation, c=US
  • URIName,如 http://testCA.example.com:80
  • RDN 指定相对于 CRL 签发者的位置。在这种情况下,Type 属性的值必须是 RelativeToIssuer

reason_n

指定在分发点维护的 CRL 涵盖的吊销原因。提供以逗号分隔的以下常量列表:

  • 未使用
  • keyCompromise
  • cACompromise
  • affiliationChanged
  • 被取代
  • cessationOfOperation
  • certificateHold

IssuerType_n

指定签发者的命名类型,其签名了在分发点维护的 CRL。签发者名称可以采用以下格式:

  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • otherName

IssuerName_n

指定对 CRL 签名的 CRL 签发者的名称格式。permissible 值如下:

  • 对于 RFC822Name,该值必须是有效的互联网电子邮件地址。例如: testCA@example.com
  • 对于 DirectoryName,该值必须是字符串形式为 X.500 名称,类似于证书中的主题名称。例如: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • 对于 DNSName,该值必须是有效的完全限定域名。例如,testCA.example.com
  • 对于 EDIPartyName,该值必须是 IA5String。例如,Example Corporation
  • 对于 URIName,该值必须是遵循 URL 语法和编码规则的非相对 URI。名称必须包含方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://testCA.example.com。证书系统支持 IPv4 和 IPv6 地址。
  • 对于 IPAddress,该值必须是有效的 IP 地址。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.
  • 对于 OIDName,该值必须是唯一的、有效的 OID,在点分隔的数字组件表示法中指定。例如,1.2 .3.4.55.6.99
  • otherName 用于任何其他格式的名称;这支持 PrintableString,IA5String,UTF8String,BMPString,Any, 和 KerberosNameKerberosName 具有 Realm|NameType|NameStrings,如 realm1|0|userID1,userID2

    otherName 必须具有 格式 (type) oid、string。例如,(IA5String) 1.2.3.4,MyExample

此参数的值必须与 issuerName 字段中的值对应。

B.1.8. 扩展的密钥用法扩展默认

此默认将扩展的密钥用法扩展附加到证书。

有关此扩展的常规信息,请参考 第 B.3.6 节 “extKeyUsage”

扩展标识了目的,除了可以使用已认证公钥的 Key Usage 扩展中所示的基本目的。例如,如果密钥使用扩展标识了签名密钥,则扩展的密钥扩展可以缩小密钥的使用范围,来只对 OCSP 响应进行签名或只为 #Java™ 小程序。

Expand
表 B.6. 扩展的密钥用法扩展的 PKIX 使用定义
使用方法OID

服务器身份验证

1.3.6.1.5.5.7.3.1

客户端身份验证

1.3.6.1.5.5.7.3.2

代码签名

1.3.6.1.5.5.7.3.3

电子邮件

1.3.6.1.5.5.7.3.4

IPsec 后端系统

1.3.6.1.5.5.7.3.5

IPsec 隧道

1.3.6.1.5.5.7.3.6

IPsec 用户

1.3.6.1.5.5.7.3.7

时间戳

1.3.6.1.5.5.7.3.8

Windows 2000 可以加密硬盘上的文件(称为加密文件系统(EFS)),其使用包含以下两个 OID 的扩展密钥用法扩展的证书:

1.3.6.1.4.1.311.10.3.4 (EFS 证书)

1.3.6.1.4.1.311.10.3.4.1 (EFS 恢复证书)

当用户丢失私钥和需要使用该密钥加密的数据时,恢复代理会使用 EFS 恢复证书。证书系统支持这两个 OID,并允许使用这些 OID 来签发包含扩展的密钥用法扩展的证书。

普通用户证书应该只使用 EFS OID 创建,而不是恢复 OID。

以下限制可通过此默认值定义:

Expand
表 B.7. 扩展的密钥用法扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

OID

指定标识键使用目的的 OID。permissible 值是一个唯一有效的 OID,在点分隔的数字组件表示法中指定。例如,2.16.840.1.113730.1.99。根据密钥使用目的,OID 可以被 PKIX 指定(在 表 B.6 “扩展的密钥用法扩展的 PKIX 使用定义” 中列出)或自定义 OID。自定义 OID 必须在为公司使用保留的 ID 的注册子树中。虽然可以使用自定义的 OID 来评估和测试证书系统,但在生产环境中,遵守用于定义 OID 和注册 ID 子树的 ISO 规则。

B.1.9. 新的 CRL 扩展默认

此默认将 Freshest CRL 扩展附加到证书。

以下限制可通过此默认值定义:

此默认定义了五个位置,其中包含每个位置的参数。这些参数在表中标有 n,以显示与参数关联的位置。

Expand
表 B.8. 新的 CRL 扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

PointEnable_n

选择 true 来启用这个点;选择 false 来禁用这个点。

PointType_n

指定发出点的类型,可以是 DirectoryNameURIName

PointName_n

  • 如果将 pointType 设置为 directoryName,则该值必须是 X.500 名称,类似于证书中的主题名称。例如: cn=CACentral,ou=Research Dept,o=Example Corporation,c=US
  • 如果 pointType 设置为 URIName,则名称必须是 URI,一个指定主机的绝对路径名称。例如: http://testCA.example.com/get/crls/here/

PointIssuerName_n

指定签名 CRL 的签发者名称。名称可以采用以下格式:

  • 对于 RFC822Name,该值必须是有效的互联网电子邮件地址。例如: testCA@example.com
  • 对于 DirectoryName,该值必须是字符串形式为 X.500 名称,类似于证书中的主题名称。例如: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • 对于 DNSName,该值必须是有效的完全限定域名。例如,testCA.example.com
  • 对于 EDIPartyName,该值必须是 IA5String。例如,Example Corporation
  • 对于 URIName,该值必须是遵循 URL 语法和编码规则的非相对 URI。名称必须包含方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://testCA.example.com。证书系统支持 IPv4 和 IPv6 地址。
  • 对于 IPAddress,该值必须是有效的 IP 地址。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.
  • 对于 OIDName,该值必须是唯一的、有效的 OID,在点分隔的数字组件表示法中指定。例如,1.2 .3.4.55.6.99
  • otherName 用于任何其他格式的名称;这支持 PrintableString,IA5String,UTF8String,BMPString,Any, 和 KerberosNameKerberosName 具有 Realm|NameType|NameStrings,如 realm1|0|userID1,userID2

    otherName 必须具有 格式 (type) oid、string。例如,(IA5String) 1.2.3.4,MyExample

name 值必须符合 PointType_ 中指定的格式。

PointType_n

指定对 CRL 签名的 CRL 签发者的一般名称类型。permissible 值如下:

  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • otherName

此参数的值必须与 PointIssuerName 字段中的值对应。

B.1.10. 通用扩展默认

此扩展允许使用用户确定的数据创建通用扩展。默认确保正确填充通用扩展。

Expand
表 B.9. 通用扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

genericExtOID

指定扩展 OID 标识符。

genericExtData

扩展中包含的二进制数据。

B.1.11. 禁止 Any-Policy 扩展默认值

禁止任何策略扩展可用于发布到 CA 的证书。禁止 any-policy 表示特殊的 anyPolicy OID (值为 { 2 5 29 32 0 })不被视为其他证书策略的明确匹配。

Expand
表 B.10. 禁止 Any-Policy 扩展默认配置参数
参数描述

Critical

此策略必须标记为 critical。选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

SkipCerts

这个参数指明在不再允许任何策略前路径中可能出现的额外证书数量。值 1 表示可在此证书的主题发布的证书中处理任何策略,但不能在路径中的额外证书中处理。

B.1.12. 签发者替代名称扩展默认值

此默认将 Issuer Alternative Name 扩展附加到证书。Issuer Alternative Name 扩展用于将互联网风格的身份与证书签发者相关联。

以下限制可通过此默认值定义:

此默认定义了五个位置,其中包含每个位置的参数。这些参数在表中标有 n,以显示与参数关联的位置。

Expand
表 B.11. issuer Alternative Name 扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

issuerAltExtType

这会设置要使用的名称扩展类型,可以是以下之一:

  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName

issuerAltExtPattern

指定要包含在扩展中的请求属性值。属性值必须符合任何受支持的通用名称类型。permissible 值是证书请求中包含的请求属性。

如果服务器在请求中找到属性,它会在扩展中设置属性值,并将扩展添加到证书。如果指定了多个属性,并且请求中没有属性,服务器不会将 Issuer Alternative Name 扩展添加到证书。如果请求中没有适当的属性来形成 issuerAlternativeName,那么可以在没有任何令牌表达式的情况下使用字面字符串。例如,证书授权机构

B.1.13. 关键用法扩展默认

此默认将 Key Usage 扩展附加到证书。扩展指定证书中包含的密钥使用的目的,如数据签名、密钥加密或数据加密,它们将密钥对限制为预先确定的目的。

有关此扩展的常规信息,请参考 第 B.3.8 节 “keyUsage”

以下限制可通过此默认值定义:

Expand
表 B.12. 关键用法扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

digitalSignature

指定是否允许签名 SSL 客户端证书和 S/MIME 签名证书。选择 true 来设置。

nonRepudiation

指定是否用于 S/MIME 签名证书。选择 true 来设置。

.WARNING [WARNING] ==== 使用这个位是 controversial。在为任何证书设置使用前,请仔细考虑其使用的法律后果。=====

keyEncipherment

指定主体中的公钥是否用于加密私钥或 secret 密钥。这是为 SSL 服务器证书和 S/MIME 加密证书设置的。选择 true 来设置。

dataEncipherment

指定当主体的公钥用于加密用户数据而不是关键材料时,是否设置扩展。选择 true 来设置。

keyAgreement

指定在主题的公钥用于密钥协议时是否设置扩展。选择 true 来设置。

keyCertsign

指定公钥是否用于验证其他证书的签名。此设置用于 CA 证书。选择 true 来设置该选项。

cRLSign

指定是否为签发 CRL 的 CA 签名证书设置扩展。选择 true 来设置。

encipherOnly

如果公钥仅在执行密钥协议时加密数据时,则指定是否设置扩展。如果设置了这个位,则还应设置 keyAgreement。选择 true 来设置。

decipherOnly

指定当公钥仅在执行密钥协议时解密数据时设置扩展。如果设置了这个位,则还应设置 keyAgreement。选择 true 来设置。

B.1.14. 名称约束扩展默认

这个默认为证书附加一个 Name Constraints 扩展。扩展用于 CA 证书,以指示证书链中后续证书中的主题名称或主题替代名称应位于其中。

有关此扩展的常规信息,请参考 第 B.3.9 节 “nameConstraints”

以下限制可通过此默认值定义:

此默认为允许的子树和排除子树定义最多五个位置,并为每个位置设置参数。这些参数在表中标有 n,以显示与参数关联的位置。

Expand
表 B.13. 名称约束扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

PermittedSubtreesn.min

指定允许的子树的最小数量。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定最小子树数为零。
  • n 必须是大于零的整数。它设置最小子树数。

PermittedSubtreesmax_n

指定允许的子树的最大数量。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定子树的最大数量为零。
  • n 必须是大于零的整数。它设置允许的最大子树数。

PermittedSubtreeNameChoice_n

指定扩展中包含允许的子树的通用名称类型。permissible 值如下:

  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • otherName

PermittedSubtreeNameValue_n

指定要包含在扩展中的子树的通用名称值。

  • 对于 RFC822Name,该值必须是有效的互联网电子邮件地址。例如: testCA@example.com
  • 对于 DirectoryName,该值必须是字符串形式为 X.500 名称,类似于证书中的主题名称。例如: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • 对于 DNSName,该值必须是有效的完全限定域名。例如,testCA.example.com
  • 对于 EDIPartyName,该值必须是 IA5String。例如,Example Corporation
  • 对于 URIName,该值必须是遵循 URL 语法和编码规则的非相对 URI。名称必须包含方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://testCA.example.com。证书系统支持 IPv4 和 IPv6 地址。
  • 对于 IPAddress,该值必须是符合无类别域间路由(CIDR)表示法的有效 IP 地址。IPv4 地址必须采用 n.n.n.n 格式,或 n.n.n/m,子网掩码为 - 例如 10.34.3.133110.34.3.133/24。IPv6 地址还必须符合 CIDR 表示法;例如,子网掩码包括 2620:52:0:2203:527b:9dff:fe56:4495/642001:db8::/64
  • 对于 OIDName,该值必须是唯一的、有效的 OID,在点分隔的数字组件表示法中指定。例如,1.2 .3.4.55.6.99
  • otherName 用于任何其他格式的名称;这支持 PrintableString,IA5String,UTF8String,BMPString,Any, 和 KerberosNameKerberosName 具有 Realm|NameType|NameStrings,如 realm1|0|userID1,userID2

    otherName 必须具有 格式 (type) oid、string。例如,(IA5String) 1.2.3.4,MyExample

PermittedSubtreeEnable_n

选择 true 来启用此允许的子树条目。

ExcludedSubtreesn.min

指定排除子树的最小数量。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定最小子树数为零。
  • n 必须是大于零的整数。这会设置所需子树的最小数量。

ExcludedSubtreeMax_n

指定排除子树的最大数量。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定子树的最大数量为零。
  • n 必须是大于零的整数。这会设置允许子树的最大数量。

ExcludedSubtreeNameChoice_n

指定要包含在扩展中的排除子树的通用名称类型。permissible 值如下:

  • RFC822Name
  • DirectoryName
  • DNSName
  • EDIPartyName
  • URIName
  • IPAddress
  • OIDName
  • otherName

ExcludedSubtreeNameValue_n

指定要包含在扩展中的子树的通用名称值。

  • 对于 RFC822Name,该值必须是有效的互联网电子邮件地址。例如: testCA@example.com
  • 对于 DirectoryName,该值必须是 X.500 名称,类似于证书中的主题名称。例如: cn=SubCA, ou=Research Dept, o=Example Corporation, c=US
  • 对于 DNSName,该值必须是有效的完全限定域名。例如,testCA.example.com
  • 对于 EDIPartyName,该值必须是 IA5String。例如,Example Corporation
  • 对于 URIName,该值必须是遵循 URL 语法和编码规则的非相对 URI。名称必须包含方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://testCA.example.com。证书系统支持 IPv4 和 IPv6 地址。
  • 对于 IPAddress,该值必须是符合无类别域间路由(CIDR)表示法的有效 IP 地址。IPv4 地址必须采用 n.n.n.n 格式,或 n.n.n/m,子网掩码为 - 例如 10.34.3.133110.34.3.133/24。IPv6 地址还必须符合 CIDR 表示法;例如,子网掩码包括 2620:52:0:2203:527b:9dff:fe56:4495/642001:db8::/64
  • 对于 OIDName,该值必须是唯一的、有效的 OID,在点分隔的数字组件表示法中指定。例如,1.2 .3.4.55.6.99
  • 对于 OtherName,这些值使用任何其他格式的名称。这支持 PrintableString,IA5String,UTF8String,BMPString,Any, 和 KerberosNameKerberosName 具有 Realm|NameType|NameStrings,如 realm1|0|userID1,userID2

    otherName 必须具有 格式 (type) oid、string。例如,(IA5String) 1.2.3.4,MyExample

ExcludedSubtreeEnable_n

选择 true 来启用这个排除的子树条目。

B.1.15. Netscape 证书类型扩展默认

WARNING

此扩展已过时。改为使用 Key Usage 或 Extended Key Usage 证书扩展。

此默认将 Netscape 证书类型扩展附加到证书。扩展标识证书类型,如 CA 证书、服务器 SSL 证书、客户端 SSL 证书或 S/MIME 证书。这会限制使用证书来预先确定目的。

B.1.16. Netscape Comment 扩展默认

WARNING

此扩展已过时。

这个默认为证书附加一个 Netscape Comment 扩展。扩展可用于在证书中包含文本注释。使用或查看证书时能够解释注释的应用程序会显示它。

有关此扩展的常规信息,请参考 第 B.4.3.1.1 节 “Netscape-comment”

以下限制可通过此默认值定义:

Expand
表 B.14. Netscape Comment 扩展配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

CommentContent

指定要在证书中显示的注释内容。

B.1.17. 没有默认扩展

在不使用默认值时,这个默认可用于设置限制。这个默认值没有设置,且没有设置默认值,但允许设置所有可用约束。

B.1.18. OCSP No Check extension default

这个默认为证书附加一个 OCSP No Check 扩展。扩展应该只在 OCSP 响应器证书中使用,指示与 OCSP 兼容的应用程序如何验证证书的撤销状态用来为 OCSP 响应签名。

有关此扩展的常规信息,请参考 第 B.3.10 节 “OCSPNocheck”

以下限制可通过此默认值定义:

Expand
表 B.15. OCSP No Check extension default configuration parameters
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

B.1.19. 策略约束扩展默认

这个默认为证书附加一个策略约束扩展。扩展(只能在 CA 证书中使用)以两种方式限制路径验证:禁止策略映射或要求路径中的每个证书包含可接受的策略标识符。默认可以指定 ReqExplicitPolicyInhibitPolicyMapping。PKIX 标准要求,如果证书中存在,扩展不得由 null 序列组成。至少两个指定字段之一必须存在。

有关此扩展的常规信息,请参考 第 B.3.11 节 “policyConstraints”

以下限制可通过此默认值定义:

Expand
表 B.16. 策略约束扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

reqExplicitPolicy

指定在需要显式策略前允许的证书总数。这是在需要可接受的策略前,可以在从属 CA 证书下串联的 CA 证书的数量。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定在需要显式策略前,路径中没有允许下级的 CA 证书。
  • n 必须是大于零的整数。它指定在需要显式策略前,路径中允许的最大从属 CA 证书数。

这个数字会影响在证书验证过程中要使用的 CA 证书数量。链从验证并移动链的最终证书开始。如果在最终用户证书中设置扩展,则该参数无效。

inhibitPolicyMapping

指定在策略映射不再允许前允许的路径中的证书总数。

  • -1 指定该字段不应在扩展中设置。
  • 0 指定在不再允许策略映射前,路径中不允许下级的 CA 证书。
  • n 必须是大于零的整数。它指定在不再允许策略映射前,路径中允许的最大从属 CA 证书数量。例如,值 1 表示可在此证书的主题发布的证书中处理策略映射,但不能在路径中的额外证书中处理。

B.1.20. 策略映射程序扩展默认

此默认为证书附加一个策略映射扩展。扩展列出了 OID 对,每个对标识两个 CA 的两个策略语句。对表示一个 CA 的对应策略等同于另一个 CA 的策略。扩展在交叉认证时很有用。如果支持,则扩展只会包含在 CA 证书中。默认通过对分配给其策略语句的 OID 来将一个 CA 的策略语句映射到另一个 CA

每个对都由两个参数定义,即 issuerDomainPolicysubjectDomainPolicy。对表示发布 CA 认为 issuerDomainPolicy 等同于主题 CA 的 subjectDomainPolicy。发出 CA 的用户可以接受特定应用程序的 issuerDomainPolicy。策略映射告诉这些用户与主题 CA 关联的策略等同于它们接受的策略。

有关此扩展的常规信息,请参考 第 B.3.12 节 “policyMappings”

以下限制可通过此默认值定义:

Expand
表 B.17. 策略映射扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

IssuerDomainPolicy_n

指定分配给发布 CA 的 policy 语句的 OID,以与另一个 CA 的 policy 语句进行映射。例如,1.2 .3.4.5

SubjectDomainPolicy_n

指定分配给与发布 CA 的 policy 语句对应的主题 CA 的 OID。例如: 6.7.8.9.10

B.1.21. 私钥使用 Period 扩展默认

Private Key Usage Period 扩展允许证书签发者为私钥指定与证书本身不同的有效期周期。此扩展用于数字签名密钥。

Expand
表 B.18. 私钥使用 Period 配置参数
参数描述

Critical

此扩展应该始终为非关键。

puStartTime

此参数设置开始时间。默认值为 0, 它会在激活扩展时开始有效期。

puDurationDays

此参数设置用量周期的持续时间。默认值为 365,它从激活扩展时将有效期设置为 365 天。

B.1.22. 签名算法默认值

这个默认在证书请求中附加签名算法。此默认为代理提供可用于签署证书的可能算法。

以下限制可通过此默认值定义:

Expand
表 B.19. 签名算法默认配置参数
参数描述

signingAlg

指定用于创建此证书的默认签名算法。代理可以通过指定 signingAlgsAllowed 参数中包含的值之一来覆盖这个值。

signingAlgsAllowed

指定可用于签名此证书的签名算法。算法可以是以下任意或全部:

  • MD2withRSA
  • MD5withRSA
  • SHA256withRSA
  • SHA512withRSA

B.1.23. 主题备用名称扩展默认

此默认为证书附加 主题备用名称 扩展。扩展将额外身份(如电子邮件地址、DNS 名称、IP 地址(IPv4 和 IPv6)或一个 URI 绑定到证书主题。标准要求,如果 certificate subject 字段包含空序列,则 Subject Alternative name 扩展必须包含主题的替代名称以及扩展被标记为 critical。

对于任何基于目录的身份验证方法,证书系统可以检索任何字符串和字节属性的值,并在证书请求中设置它们。这些属性通过在自动注册模块中定义的 ldapStringAttributesldapByteAttributes 字段中输入它们来设置。

如果身份验证的属性 - 表示存储在 LDAP 数据库中的属性 - 需要作为此扩展的一部分,请使用 $request.X$ 令牌中的值。

有一个额外的属性,可将通用唯一标识符(UUID)插入到主题备用名称中。此选项为版本 4 UUID 生成随机数字;此模式通过引用服务器来定义,该服务器将生成额外的 subjAltExtSource 参数中的数字。

示例中配置了基本的 Subject Alternative Name 扩展默认值。

例 B.1. 默认主题备用名称扩展配置

policyset.serverCertSet.9.constraint.name=No Constraint
policyset.serverCertSet.9.default.class_id=subjectAltNameExtDefaultImpl
policyset.serverCertSet.9.default.name=Subject Alternative Name extension default
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_0=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_0=$request.requestor_email$
policyset.serverCertSet.9.default.params.subjAltExtType_0=RFC822Name
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_1=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_1=$request.SAN1$
policyset.serverCertSet.9.default.params.subjAltExtType_1=DNSName
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_2=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_2=http://www.server.example.com
policyset.serverCertSet.9.default.params.subjAltExtType_2=URIName
policyset.serverCertSet.9.default.params.subjAltExtType_3=OtherName
policyset.serverCertSet.9.default.params.subjAltExtPattern_3=(IA5String)1.2.3.4,$server.source$
policyset.serverCertSet.9.default.params.subjAltExtSource_3=UUID4
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_3=true
policyset.serverCertSet.9.default.params.subjAltExtType_4=RFC822Name
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_4=false
policyset.serverCertSet.9.default.params.subjAltExtPattern_4=
policyset.serverCertSet.9.default.params.subjAltNameExtCritical=false
policyset.serverCertSet.9.default.params.subjAltNameNumGNs=5
Copy to Clipboard Toggle word wrap

Subject Alternative Name 扩展默认检查配置集属性的证书请求。如果请求包含属性,配置集会读取其值并在扩展中设置它。如果配置了基于 LDAP 的身份验证,则 Subject Alternative Name 扩展默认为从 LDAP 目录插入属性值。添加到证书的扩展包含所有配置的属性。

下表中列出了可与 Subject Alternative Name 扩展默认值一起使用的变量。

Expand
表 B.20. 在主题替代名称中插入值的变量
策略设置令牌描述

$request.auth_token.cn$

请求证书的用户的 LDAP 通用名称(cn)属性。

$request.auth_token.mail$

请求证书的用户的 LDAP 电子邮件(邮件)属性的值。

$request.auth_token.tokenCertSubject$

证书主题名称。

$request.auth_token.uid$

请求证书的用户的 LDAP 用户 ID (uid)属性。

$request.auth_token.user$

 

$request.auth_token.userDN$

请求证书的用户的用户 DN。

$request.auth_token.userid$

请求证书的用户的用户的用户 ID 属性的值。

$request.uid$

请求证书的用户的用户的用户 ID 属性的值。

$request.profileRemoteAddr$

发出请求的用户的 IP 地址。这可以是 IPv4 或 IPv6 地址,具体取决于客户端。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.

$request.profileRemoteHost$

用户机器的主机名或 IP 地址。主机名可以是完全限定域名和协议,如 http://server.example.com。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.

$request.requestor_email$

提交请求的个人的电子邮件地址。

$request.requestowner$

提交请求的个人。

$request.subject$

发布证书的实体的主题名称 DN。例如:uid=jsmith, e=jsmith@example.com

$request.tokencuid$

用于请求注册的智能卡令牌的卡唯一 ID (CUID)。

$request.upn$

Microsoft UPN.具有格式 (UTF8String) 1.3.6.1.4.1.311.20.2.3,$request.upn$

$server.source$

指示服务器在主题名称中生成版本 4 UUID (随机数字)组件。这始终具有格式 (IA5String) 1.2.3.4、$server.source$

您可以为单个扩展设置多个属性。subjAltNameNumGNs 参数控制要将列出的属性数量添加到证书中。此参数必须添加到自定义配置集中,可能需要在默认配置文件中修改,以便根据需要包含尽可能多的属性。在 例 B.1 “默认主题备用名称扩展配置” 表中,subjAltNameNumGNs 设置为 5 以插入 RFC822Name,DNSName,URIName, otherName , 和 RFC822Name 名称(generic name \_0,\_1,\_2 \_3\_4)。

以下限制可通过此默认值定义:

Expand
表 B.21. 主题备用名称扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

pattern

指定要包含在扩展中的请求属性值。属性值必须符合任何受支持的通用名称类型。如果服务器在请求中找到属性,它会在扩展中设置属性值,并将扩展添加到证书。如果指定了多个属性,并且请求中没有属性,服务器不会向证书添加 Subject Alternative Name 扩展。permissible 值是证书请求中包含的请求属性。例如,$request.requestor_email$

类型

指定 request 属性的常规名称类型。

  • 如果 request-attribute 值是 local-part@domain 格式的电子邮件地址,请选择 RFC822Name。例如 :jdoe@example.com
  • 如果 request-attribute 值是一个 X.500 目录名称,请选择 DirectoryName,类似于证书中的主题名称。例如,cn=Jane Doe, ou=Sales Dept, o=Example Corporation, c=US
  • 如果 request-attribute 值是一个 DNS 名称,请选择 DNSName。例如,corpDirectory.example.com
  • 如果 request-attribute 值是一个 EDI party 名称,请选择 EDIPartyName。例如,Example Corporation
  • 如果 request-attribute 值是一个非相对 URI,则选择 URIName,其中包含一个方案,如 http,以及主机的完全限定域名或 IP 地址。例如: http://hr.example.com。证书系统支持 IPv4 和 IPv6 地址。
  • 如果 request-attribute 值是以点分开的数字组件表示法指定的有效 IP 地址,请选择 IPAddress。例如 :128.21.39.40。IPv4 地址的格式必须是 n.n. n.n 或 n.n.n.n,m.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:FFFF:FFFF:FFFF:FFFF:FFFF:255.255.255.0, 和 FF01::43,FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00:0000.
  • 如果 request-attribute 值是一个唯一值,选择 OIDName,在点分隔的数字组件表示法中指定有效 OID。例如,1.2 .3.4.55.6.99
  • 选择 OtherName 来使用任何其他格式的名称。这支持 PrintableString,IA5String,UTF8String,BMPString,Any, 和 KerberosNameKerberosName 具有 Realm|NameType|NameStrings,如 realm1|0|userID1,userID2

    otherName 必须具有 格式 (type) oid、string。例如,(IA5String) 1.2.3.4,MyExample

Source

指定用于生成 ID 的识别源或协议。唯一支持的源是 UUID4,它生成一个随机数字来创建 UUID。

组件数量(NumGN)

指定必须包含在主题替代名称中的名称组件数量。

B.1.24. 主题目录属性扩展默认

此默认为证书附加一个 Subject Directory 属性 扩展。Subject Directory Attributes 扩展会传递证书主题的任何所需的目录属性值。

以下限制可通过此默认值定义:

Expand
表 B.22. 主题目录属性扩展默认配置参数
参数描述

Critical

选择 true 来标记此扩展关键;选择 false 以标记扩展非关键。

Name

属性名称;这可以是任何 LDAP 目录属性,如 cnmail

pattern

指定要包含在扩展中的请求属性值。属性值必须符合属性的允许值。如果服务器找到属性,它会在扩展中设置属性值,并将扩展添加到证书。如果指定了多个属性,并且请求中没有属性,服务器不会将 Subject Directory 属性扩展添加到证书。例如,$request.requestor_email$

启用

设置该属性是否可以添加到证书中。选择 true 来启用属性。

B.1.25. 主题信息访问扩展默认

实施注册默认策略,在证书模板中填充 Subject Information Access 扩展。此扩展表示如何访问显示扩展的证书主题的信息和服务。

Expand
参数描述

Critical

此扩展应该是非关键的。

subjInfoAccessNumADs

证书中包含的信息访问部分数量。

subjInfoAccessADMethod_n

access 方法的 OID。

subjInfoAccessADMethod_n

访问方法的类型。

  • URIName
  • 目录名称
  • DNS 名称
  • EID Party Name
  • IP 地址
  • OID 名称
  • RFC822Name

subjInfoAccessADLocation_n

基于 subjInfoAccessADMethod_n 类型的位置

例如,URI Name 的 URL。

subjInfoAccessADEnable_n

选择 true 来启用此扩展;选择 false 来禁用此扩展。

B.1.26. 主题密钥标识符扩展默认

此默认为证书附加一个 Subject Key Identifier 扩展。扩展标识包含特定公钥的证书,该公钥标识来自具有相同主题名称的多个证书。

有关此扩展的常规信息,请参考 第 B.3.16 节 “subjectKeyIdentifier”

如果启用,如果扩展尚不存在,配置集会在注册请求中添加 Subject Key Identifier Extension。如果请求中存在扩展,如 CRMF 请求,则默认将替换扩展。代理批准手动注册请求后,配置集接受任何已存在的 Subject Key Identifier Extension

这个默认没有参数。如果使用,此扩展会包含在带有公钥信息的证书中。

以下限制可通过此默认值定义:

B.1.27. 主题名称默认

此默认将服务器端可配置的主题名称附加到证书请求。静态主题名称用作证书中的主题名称。

以下限制可通过此默认值定义:

Expand
表 B.23. 主题名称默认配置参数
参数描述

Name

指定此证书的主题名称。

如果您需要获取使用 UidPwdDirAuth 插件中的 DNPATTERN 值的证书主题名称,然后将配置文件配置为使用 Subject Name Default 插件,并将 Name 参数替换为 AuthToken 中的 "Subject Name",如下所示。

policyset.userCertSet.1.default.class_id=subjectNameDefaultImpl
policyset.userCertSet.1.default.name=Subject Name Default
policyset.userCertSet.1.default.params.name=$request.auth_token.tokenCertSubject$
Copy to Clipboard Toggle word wrap

B.1.28. 用户密钥默认

User Key 默认会将用户提供的密钥附加到证书请求中。这是所需的默认值。密钥是注册请求的一部分。

以下限制可通过此默认值定义:

B.1.29. 用户签名算法默认

User Signing Algorithm default 实施注册默认配置文件,它会在证书请求中填充用户提供的签名算法。如果证书配置文件中包含,这允许用户选择证书的签名算法,受约束集约束。

没有提供输入来为注册表添加签名算法选择,但可以提交包含此信息的请求。

以下限制可通过此默认值定义:

B.1.30. 用户主题名称默认

此默认将用户提供的主题名称附加到证书请求。如果证书配置文件中包含,它允许用户为证书提供主题名称,受约束集约束。此扩展会保留在签发证书时在原始证书请求中指定的主题名称。

以下限制可通过此默认值定义:

B.1.31. 用户有效期默认

此默认将用户提供的有效期附加到证书请求。如果证书配置文件中包含,它允许用户提供有效期周期,受约束集约束。此默认配置集会在签发证书时,在原始证书请求中保留用户定义的有效期。

没有提供输入来为注册表添加用户提供的有效日期,但可以提交包含此信息的请求。

以下限制可通过此默认值定义:

B.1.32. 用户 Supplied 扩展默认

User Supplied 扩展默认类使用用户在证书请求中定义的任何证书扩展填充证书。这要求用户提交满足特定标准或提供某些信息的证书请求,因为配置文件在注册证书前可能需要特定的扩展。

WARNING

特别注意设置此扩展默认值,因为它允许用户在证书请求中指定扩展。如果使用这个默认值,红帽强烈建议您使用与扩展对应的约束,以最大程度降低用户 Supplied 扩展 default 可能的滥用。

用户定义的扩展会根据设定的任何约束进行验证,因此可以限制扩展类型(通过 Extension Constraint),或者为密钥和其他基本限制设置规则,如是否是 CA 证书。

注意

如果在具有对应 OID (Extension Constraint)的配置集上设置此扩展,那么通过该配置集处理的任何证书请求 都必须 执行指定的扩展,或者请求将被拒绝。

如果在勘误表 RHSA 2008:0500 之前,默认启用 User Supplied 扩展默认证书配置文件,则必须编辑此配置文件来支持用户提供证书请求中的扩展。应用 userExtensionDefaultImpl 默认,如示例所示。给定的 OID 适用于 Basic Constraints Extension Constraint。

policyset.set1.p6.default.class_id=userExtensionDefaultImpl
policyset.set1.p6.default.name=User Supplied extension default
policyset.set1.p6.default.params.userExtOID=2.5.29.19
Copy to Clipboard Toggle word wrap

CA 通过以下三种方式之一处理使用用户 Supplied 扩展功能的注册:

  • 如果在证书请求和默认值中指定扩展 OID,则扩展将由约束进行验证并应用到证书。
  • 如果在请求中给出了扩展 OID,但没有在配置集中的 User Supplied 扩展中指定,则忽略用户指定的扩展,并在该扩展的情况下成功注册证书。
  • 如果在具有对应 OID (Extension Constraint)的配置集上设置此扩展,那么通过该配置集处理的任何证书请求 都必须 执行指定的扩展,或者请求将被拒绝。

包含用户定义的扩展的证书请求必须提交到配置集。但是,证书注册表单没有任何输入字段供用户添加用户提供的扩展。提交证书请求而不提供扩展失败。

以下示例将 User Supplied 扩展默认添加到带有扩展 Key Usage Constraint 的配置集中。userExtOID 参数中指定的 OID 用于扩展 Key Usage 扩展。

例 B.2. 对于扩展的密钥用法扩展,默认用户扩展扩展扩展扩展

policyset.set1.2.constraint.class_id=extendedKeyUsageExtConstraintImpl
policyset.set1.2.constraint.name=Extended Key Usage Extension
policyset.set1.2.constraint.params.exKeyUsageCritical=false
policyset.set1.2.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
policyset.set1.2.default.class_id=userExtensionDefaultImpl
policyset.set1.2.default.name=User Supplied extension default
policyset.set1.2.default.params.userExtOID=2.5.29.37
Copy to Clipboard Toggle word wrap

在本例中,尽管 用户 Supplied 扩展默认允许用户指定扩展密钥使用扩展(2.5.29.37),但约束将用户请求限制为只有 SSL 客户端身份验证(1.3.6.1.5.5.7.3.2)和电子邮件保护(1.3.6.1.5.5.7.3.4)使用。

编辑配置集在 第 3.2 节 “设置证书配置文件” 中进行了描述。

例 B.3. CSR 中提供了多个用户扩展

RHCS 注册配置集框架允许在同一配置集中定义多个用户备份扩展。例如,可以指定以下的组合:

  • 对于扩展的密钥使用扩展:

    policyset.serverCertSet.2.constraint.class_id=extendedKeyUsageExtConstraintImpl
    policyset.serverCertSet.2.constraint.name=Extended Key Usage Extension
    policyset.serverCertSet.2.constraint.params.exKeyUsageCritical=false
    policyset.serverCertSet.2.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
    policyset.serverCertSet.2.default.class_id=userExtensionDefaultImpl
    policyset.serverCertSet.2.default.name=User Supplied extension default
    policyset.serverCertSet.2.default.params.userExtOID=2.5.29.37
    Copy to Clipboard Toggle word wrap
  • 对于 Key Usage Extension :

    通过使用以下格式,您可以应用扩展参数的策略:

    • CSR: value = "true"必须存在
    • 不得 存在于 CSR: value = "false"
    • 是可选的:value = "-"

      例如:

      policyset.serverCertSet.13.constraint.class_id=keyUsageExtConstraintImpl
      policyset.serverCertSet.13.constraint.name=Key Usage Extension Constraint
      policyset.serverCertSet.13.constraint.params.keyUsageCritical=-
      policyset.serverCertSet.13.constraint.params.keyUsageCrlSign=false
      policyset.serverCertSet.13.constraint.params.keyUsageDataEncipherment=-
      policyset.serverCertSet.13.constraint.params.keyUsageDecipherOnly=-
      policyset.serverCertSet.13.constraint.params.keyUsageDigitalSignature=-
      policyset.serverCertSet.13.constraint.params.keyUsageEncipherOnly=-
      policyset.serverCertSet.13.constraint.params.keyUsageKeyAgreement=true
      policyset.serverCertSet.13.constraint.params.keyUsageKeyCertSign=-
      policyset.serverCertSet.13.constraint.params.keyUsageKeyEncipherment=-
      policyset.serverCertSet.13.constraint.params.keyUsageNonRepudiation=-
      policyset.serverCertSet.13.default.class_id=userExtensionDefaultImpl
      policyset.serverCertSet.13.default.name=User Supplied Key Usage Extension
      policyset.serverCertSet.13.default.params.userExtOID=2.5.29.15
      Copy to Clipboard Toggle word wrap
注意

有关如何使用用户定义的扩展属性创建 CSR 的示例,请参阅 第 5.2.1.2 节 “使用 certutil 创建带有用户定义的扩展的 CSR”

B.1.32.1. 默认有效期

Validity 默认会将服务器端可配置的有效期附加到证书请求中。

以下限制可通过此默认值定义:

Expand
表 B.24. 有效期默认配置参数
参数描述

range

指定此证书的有效性周期。

startTime

根据当前时间设定有效期何时开始。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat