附录 A. 证书配置集输入和输出参考

配置集输入和输出在证书请求中定义预期的输入参数,以及注册结果的输出格式。与 Red Hat Certificate Systemnbsp 中的很多其他组件一样;红帽证书证书系统nbsp;System,配置集输入和输出作为 JAVA 插件实现,以提供自定义和灵活性。本附录提供了默认输入和输出插件的参考。

A.1. 输入参考

输入会在与特定证书配置集关联的注册页面中放置某些字段。为证书配置集设置的输入用于通过适当的字段动态生成注册页面。这些输入字段会为配置集收集必要信息来生成最终证书。

A.1.1. 证书请求输入

证书请求输入用于将证书请求粘贴到注册表中的注册。它允许从下拉列表中设置请求格式,并提供输入字段来粘贴请求。
这个输入将以下字段放在注册表单中:
  • 证书请求类型.此下拉菜单允许用户指定证书请求类型。选择为 PKCS #10 或 CRMF。PKCS #10 和 CRMF 支持通过 Cryptographic 消息语法(CMC)注册的证书管理消息。
  • 证书请求.这是用于粘贴请求的文本区域。

例 A.1. 

caAdminCert.cfg:input.i1.class_id=certReqInputImpl

A.1.2. CMC 证书请求输入

CMC 证书请求输入使用证书消息 over CMS(CMC)证书请求以请求形式提交。请求类型必须是 PKCS #10 或 CRMF,唯一字段是需要粘贴请求的证书请求文本区域。

例 A.2. 

caCMCUserCert.cfg:input.i1.class_id=cmcCertReqInputImpl

A.1.3. 双密钥生成输入

第二代输入用于生成双密钥对的注册,因此发布两个证书,一个用于签名,另一个用于加密。
这个输入将以下字段放入注册表单中:
  • 密钥生成请求类型.此字段是一个只读字段,显示 crmf 作为请求类型。
  • 密钥生成请求.此字段为加密和签名证书的密钥生成请求设置密钥大小选择。

例 A.3. 

caDualCert.cfg:input.i1.class_id=dualKeyGenInputImpl

A.1.4. 文件增强输入

File-Signing 输入会设置用于签署文件的字段,以表明其未被篡改。
这个输入会创建以下字段:
  • 密钥生成请求类型.此字段是一个只读字段,显示 crmf 作为请求类型。
  • 密钥生成请求.这个输入会添加一个下拉菜单,选择要在密钥生成请求中使用的密钥大小。
  • 未签署的文件 URL.这将指定要签名的文件的位置。
  • 签署的文本.该操作会给出文件名。

例 A.4. 

caAgentFileSigning.cfg:input.i2.class_id=fileSigningInputImpl

A.1.5. 镜像输入

Image 输入设置用于为镜像文件签名的字段。此输入创建的唯一字段是 Image URL,它提供了要签名的镜像的位置。

A.1.6. 密钥生成输入

密钥生成输入用于生成单个密钥对(通常是基于用户的证书注册)的注册。
这个输入将以下字段放入注册表单中:
  • 密钥生成请求类型.此字段是一个只读字段,显示 crmf 作为请求类型。
  • 密钥生成请求.这个输入会添加一个下拉菜单,选择要在密钥生成请求中使用的密钥大小。

例 A.5. 

caDualCert.cfg:input.i1.class_id=keyGenInputImpl

A.1.7. nsHKeyCertRequest (Token Key) Input

Token Key 输入用于为硬件令牌注册密钥,以便代理稍后用于基于证书的身份验证。
这个输入将以下字段放入注册表单中:
  • 令牌密钥 CUID.此字段为令牌设备提供 CUID(上下文的唯一用户 ID)。
  • 令牌密钥用户公钥.此字段必须包含令牌用户的公钥。

例 A.6. 

caTempTokenDeviceKeyEnrollment.cfg:input.i1.class_id=nsHKeyCertReqInputImpl

A.1.8. nsNKeyCertRequest (Token User Key) Input

Token User Key 输入用于为硬件令牌的用户注册密钥,以便代理以后使用令牌进行基于证书的身份验证。这个输入将以下字段放入注册表单中:
  • 令牌密钥用户 UID.此字段提供令牌设备的 LDAP 条目的 UID。
  • 令牌密钥用户公钥.此字段必须包含令牌用户的公钥。

例 A.7. 

caTempTokenUserEncryptionKeyEnrollment.cfg:input.i1.class_id=nsNKeyCertReqInputImpl

A.1.9. 序列号续订输入

Serial Number Renewal Input 用于设置现有证书的序列号,以便 CA 可以拉取原始证书条目,并使用信息重新生成证书。输入将 Serial Number 字段插入到注册表单中。
这是唯一需要与续订表格搭配使用的输入;所有其他信息都由证书条目提供。

例 A.8. 

caTokenUserEncryptionKeyRenewal.cfg:input.i1.class_id=serialNumRenewInputImpl

A.1.10. 主题 DN 输入

借助 Subject DN 输入,用户可以输入特定的 DN 作为证书主题名称,输入会将单个 Subject Name 字段插入到注册表单中。

例 A.9. 

caAdminCert.cfg:input.i3.class_id=subjectDNInputImpl

A.1.11. 主题名称输入

当需要从用户收集 DN 参数时,可以使用 Subject Name 输入来注册。参数用于划分证书中的主题名称。这个输入将以下字段放入注册表单中:
  • UID (LDAP 目录用户 ID)
  • 电子邮件
  • 通用名称 (用户名)
  • 机构单元机构单元(应该)
  • 机构(机构名称
  • 国家(用户所在国家 /地区)

例 A.10. 

caDualCert.cfg:input.i2.class_id=subjectNameInputImpl

A.1.12. 提交信息输入

提交者信息输入收集证书请求者的信息,如姓名、电子邮件和电话。
这个输入将以下字段放入注册表单中:
  • requester Name
  • 请求者电子邮件
  • requester Phone

例 A.11. 

caAdminCert.cfg:input.i2.class_id=submitterInfoInputImpl

A.1.13. 通用输入

借助通用输入,管理员可以指定要与处理特征的扩展插件搭配使用的任意数量的输入字段。例如,在模式的 Subject Alternative Name Extension Default 插件中使用 ccmGUID 参数:

例 A.12. 

input.i3.class_id=genericInputImpl
input.i3.params.gi_display_name0=ccm
input.i3.params.gi_param_enable0=true
input.i3.params.gi_param_name0=ccm
input.i3.params.gi_display_name1=GUID
input.i3.params.gi_param_enable1=true
input.i3.params.gi_param_name1=GUID
input.i3.params.gi_num=2
…
policyset.set1.p6.default.class_id=subjectAltNameExtDefaultImpl
policyset.set1.p6.default.name=Subject Alternative Name Extension Default
policyset.set1.p6.default.params.subjAltExtGNEnable_0=true
policyset.set1.p6.default.params.subjAltExtGNEnable_1=true
policyset.set1.p6.default.params.subjAltExtPattern_0=$request.ccm$
policyset.set1.p6.default.params.subjAltExtType_0=DNSName
policyset.set1.p6.default.params.subjAltExtPattern_1=(Any)1.3.6.1.4.1.311.25.1,0410$request.GUID$
policyset.set1.p6.default.params.subjAltExtType_1=OtherName
policyset.set1.p6.default.params.subjAltNameExtCritical=false
policyset.set1.p6.default.params.subjAltNameNumGNs=2

A.1.14.  主题备用名称扩展输入

主题备用名称扩展输入与主题备用名称扩展默认插件一起使用。它允许管理员启用 URI 中的编号参数,其格式为 req_san_pattern_# 进入输入,因此 SubjectAltNameExt 扩展。例如,包含以下内容的 URI:
...&req_san_pattern_0=host0.Example.com&req_san_pattern_1=host1.Example.com
host0.Example.comhost1.Example.com 注入以下配置集中的 SubjectAltNameExt 扩展。

例 A.13. 

input.i3.class_id=subjectAltNameExtInputImpl
input.i3.name=subjectAltNameExtInputImpl
policyset.serverCertSet.9.constraint.class_id=noConstraintImpl
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.req_san_pattern_0$
policyset.serverCertSet.9.default.params.subjAltExtType_0=DNSName
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_1=true
policyset.serverCertSet.9.default.params.subjAltExtPattern_1=$request.req_san_pattern_1$
policyset.serverCertSet.9.default.params.subjAltExtType_1=DNSName
policyset.serverCertSet.9.default.params.subjAltExtGNEnable_2=false
policyset.serverCertSet.9.default.params.subjAltExtPattern_2=$request.req_san_pattern_2$
policyset.serverCertSet.9.default.params.subjAltExtType_2=DNSName
policyset.serverCertSet.9.default.params.subjAltNameExtCritical=false
policyset.serverCertSet.9.default.params.subjAltNameNumGNs=2