附录 A. 证书配置文件输入和输出参考
配置集输入和输出在证书请求中定义预期的输入参数以及注册结果的输出格式。与 Red Hat Certificate System 中的许多其他组件一样,配置文件输入和输出也作为 JAVA 插件实施,以提供自定义和灵活性。本附录提供了默认输入和输出插件的引用。
A.1. 输入参考
输入会将某些字段放在与特定证书配置文件关联的注册页面中。为证书配置文件设置的输入用于动态使用适当的字段生成注册页面;这些输入字段收集配置文件以生成最终证书的必要信息。
A.1.1. 证书请求输入
证书请求输入用于将证书请求粘贴到注册表单的注册。它允许从下拉列表中选择请求格式,并提供输入字段来粘贴请求。
此输入会将以下字段置于注册表单中:
- 证书请求类型。此下拉菜单允许用户指定证书请求类型。选择是 PKCS the10 或 CRMF。PKCS11410 和 CRMF 支持通过加密消息语法(CMC)注册的证书管理消息。
- 证书请求.这是要粘贴请求的文本区域。
例 A.1.
caAdminCert.cfg:input.i1.class_id=certReqInputImpl
A.1.2. CMC 证书请求输入
CMC 证书请求输入用于使用 CMS (CMC)证书请求的证书消息注册,以请求表单提交。请求类型必须是 PKCS the10 或 CRMF,唯一的字段是要粘贴请求的 Certificate Request 文本区域。
例 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 Of 文件成为符号.这提供了要签名的文件的位置。
- 文本已签名.这提供了文件名。
例 A.4.
caAgentFileSigning.cfg:input.i2.class_id=fileSigningInputImpl
A.1.5. 镜像输入
Image input 设置字段来签署镜像文件。此输入创建的唯一字段是 镜像 URL,它提供了要签名的镜像的位置。
A.1.6. 密钥生成输入
Key Generation 输入用于生成单个密钥对的注册,其中通常基于用户的证书注册。
此输入会将以下字段置于注册表单中:
- 密钥生成请求类型。此字段是一个只读字段,显示 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 输入
主题 DN 输入允许用户输入特定的 DN 来设置为证书主题名称,输入会将单个 Subject Name 字段插入到注册表单中。
例 A.9.
caAdminCert.cfg:input.i3.class_id=subjectDNInputImpl
A.1.11. 主题名称输入
当需要从用户收集 DN 参数时,主题名称输入用于注册。参数用于公式证书中的主题名称。此输入会将以下字段置于注册表单中:
- UID (LDAP 目录用户 ID)
- 电子邮件
- 通用名称 (用户的名称)
- 用户所属 组织单元(组织单元(
ou
)) - 机构(机构名称 )
- 国家 (用户所在的国家)
例 A.10.
caDualCert.cfg:input.i2.class_id=subjectNameInputImpl
A.1.12. 提交信息输入
提交信息输入收集证书请求者的信息,如名称、电子邮件和手机。
此输入会将以下字段置于注册表单中:
- 请求者名称
- 请求者电子邮件
- 请求者电话
例 A.11.
caAdminCert.cfg:input.i2.class_id=submitterInfoInputImpl
A.1.13. 通用输入
通用输入允许管理员指定与处理模式的扩展插件一起使用的任意数量的输入字段。例如,
cc
m 和 GUID
参数在模式主题替代名称扩展默认插件中使用:
例 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. 主题备用名称扩展输入
Subject Alternative Name Extension Input 与 Subject Alternative Name Extension Default 插件一起使用。它允许管理员在 URI 中启用编号的参数,其模式为
req_san_pattern_
在输入中,因此 SubjectAltNameExt
扩展。例如,URI 包括:
...&req_san_pattern_0=host0.Example.com&req_san_pattern_1=host1.Example.com
将
host0.Example.com
和 host1.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=3