3.2. 设置证书配置文件
在证书系统中,您可以添加、删除和修改注册配置文件:
- 使用 PKI 命令行界面
- 使用基于 Java 的管理控制台
本节提供有关每种方法的信息。
3.2.1. 使用 pki 命令行界面管理证书注册配置集
本节描述了如何使用 pki
工具管理证书配置文件。详情请查看 pki-ca-profile (1)
手册页。
建议使用 raw 格式。有关配置集的每个属性和字段的详情,请参阅 Red Hat Certificate System Planning, Installation, and Deployment Guide 中的 Configuring certificate profiles 部分。
3.2.2. 启用和禁用证书配置文件
在编辑证书配置文件前,您必须禁用它。修改完成后,您可以重新启用配置集。
只有 CA 代理才能启用和禁用证书配置文件。
例如,禁用
caCMCECserverCert
证书配置文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c password -n caagent ca-profile-disable caCMCECserverCert
# pki -c password -n caagent ca-profile-disable caCMCECserverCert
例如,启用
caCMCECserverCert
证书配置文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c password -n caagent ca-profile-enable caCMCECserverCert
# pki -c password -n caagent ca-profile-enable caCMCECserverCert
3.2.2.1. 以原始格式创建证书配置文件
以 raw 格式创建新配置集:
pki -c password -n caadmin ca-profile-add profile_name.cfg --raw
# pki -c password -n caadmin ca-profile-add profile_name.cfg --raw
在 raw 格式中,按如下方式指定新配置集 ID:
profileId=profile_name
profileId=profile_name
3.2.2.2. 使用原始格式编辑证书配置文件
CA 管理员可以以原始格式编辑证书配置文件,而无需手动下载配置文件。
例如,编辑 caCMCECserverCert
配置集:
pki -c password -n caadmin ca-profile-edit caCMCECserverCert
# pki -c password -n caadmin ca-profile-edit caCMCECserverCert
此命令自动下载原始格式的配置集配置,并在 VI
编辑器中打开它。当您关闭编辑器时,配置集配置会在服务器上更新。
编辑配置集后您不需要重启 CA。
在编辑配置集前,请禁用配置集。详情请查看 第 3.2.2 节 “启用和禁用证书配置文件”。
例 3.2. 使用原始格式编辑证书配置文件
例如,编辑 caCMCserverCert
配置集以接受多个用户提供的扩展:
禁用配置集作为 CA 代理:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c password -n caagemt ca-profile-disable caCMCserverCert
# pki -c password -n caagemt ca-profile-disable caCMCserverCert
以 CA 管理员身份编辑配置集:
在
VI
编辑器中下载并打开配置集:Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c password -n caadmin ca-profile-edit caCMCserverCert
# pki -c password -n caadmin ca-profile-edit caCMCserverCert
- 更新配置以接受扩展。详情请查看 例 B.3 “CSR 中提供了多个用户扩展”。
启用配置集作为 CA 代理:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c password -n caagent ca-profile-enable caCMCserverCert
# pki -c password -n caagent ca-profile-enable caCMCserverCert
3.2.2.3. 删除证书配置文件
删除证书配置文件:
pki -c password -n caadmin ca-profile-del profile_name
# pki -c password -n caadmin ca-profile-del profile_name
在删除配置集前,请禁用配置集。详情请查看 第 3.2.2 节 “启用和禁用证书配置文件”。
3.2.3. 使用基于 Java 的管理控制台管理证书注册配置文件
3.2.3.1. 通过 CA 控制台创建证书配置文件
为了安全起见,证书系统会强制分离角色,现有证书配置文件只能在代理允许后被管理员编辑。要添加新证书配置文件或修改现有证书配置文件,请以管理员身份执行以下步骤:
登录证书系统 CA 子系统控制台。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkiconsole https://server.example.com:8443/ca
pkiconsole https://server.example.com:8443/ca
重要pkiconsole
已被弃用。在 Configuration 选项卡中,选择 Certificate Manager,然后选择 Certificate Profiles。
证书配置文件实例管理选项卡 将打开,它列出了配置的证书配置文件。
若要创建新证书配置文件,请单击
。在 Select Certificate Profile Plugin Implementation 窗口中,选择创建配置集的证书类型。
在 Certificate Profile Instance Editor 中填写配置文件信息。
- 证书配置文件实例 ID.这是系统用来识别配置文件的 ID。
- 证书配置文件名称.这是配置文件的用户友好的名称。
- 证书配置文件描述.
-
最终用户证书配置文件.这会设置请求是否必须通过配置文件的输入表单进行。这通常设为
true
。把它设置为false
允许通过证书管理器的证书配置文件框架处理签名请求,而不是通过证书配置文件的输入页面进行处理。 证书配置文件身份验证.这会设置身份验证方法。通过为身份验证实例提供实例 ID 来设置自动身份验证。如果此字段为空,则身份验证方法是代理批准的注册;请求将提交到代理服务接口的请求队列中。
除非是 TMS 子系统,否则管理员必须选择以下身份验证插件之一:
-
CMCAuth
:当 CA 代理必须批准并提交注册请求时,使用此插件。 -
CMCUserSignedAuth
:使用此插件使非代理用户能够注册自己的证书。
-
- 点 。插件编辑器关闭,新的配置集列在 profile 选项卡中。
- 为新配置集配置策略、输入和输出。从列表中选择新配置文件,然后单击 。
在 Certificate Profile Rule Editor 窗口的 Policies 选项卡中设置策略。Policies 选项卡列出了已默认为配置集类型设置的策略。
要添加策略,请点击
。从 Default 字段中选择 default,在 Constraints 字段中选择与该策略关联的约束,然后点 。
- 填写策略设置 ID。在发布双密钥对时,单独的策略集会定义与每个证书关联的策略。然后,填写证书配置文件策略 ID,证书配置文件策略的名称或标识符。
在 Defaults 和 Constraints 选项卡中配置任何参数。
defaults 定义填充证书请求的属性,后者决定了证书的内容。这些可以是扩展、有效期或证书中包含的其他字段。约束 定义了默认值的有效值。
如需了解每个默认或约束的完整详情,请参阅 第 B.1 节 “默认参考” 和 第 B.2 节 “约束参考”。
- 要修改现有策略,请选择策略,然后单击 。然后编辑该策略的默认和限制。
- 要删除策略,请选择策略,然后单击 。
在 Certificate Profile Rule Editor 窗口的 Inputs 选项卡中设置输入。配置集可以有多个输入类型。
注意除非您为 TMS 子系统配置配置集,否则只选择
cmcCertReqInput
并删除其他配置集,方法是选择它们并点 按钮。要添加输入,请单击
。- 从列表中选择输入,第 A.1 节 “输入参考”。 。有关默认输入的详情,请查看
New Certificate Profile Editor 窗口将打开。设置输入 ID, 。
可以添加和删除输入。可以选择为输入选择编辑,但因为输入没有参数或其他设置,因此无需配置。
要删除输入,请选择输入,然后单击
。
在 Certificate Profile Rule Editor 窗口的 Outputs 选项卡中设置 输出。
必须为使用自动验证方法的任何证书配置文件设置输出;不需要为使用代理验证的任何证书配置文件设置输出。默认情况下,所有配置集都会设置证书输出类型,并自动添加到自定义配置集中。
除非为 TMS 子系统配置配置集,否则仅选择
certOutput
。可以添加和删除输出。可以为输出选择编辑,但因为输出没有参数或其他设置,因此无需配置。
- 要添加输出,请单击 。
- 从列表中选择输出, 。
为输出提供名称或标识符,然后单击
。此输出将在输出标签页中列出。您可以编辑它,以便为此输出中的参数提供值。
要删除输出,请从列表选择输出,然后单击
。重启 CA 以应用新配置集。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart pki-tomcatd-nuxwdog@instance_name.service
# systemctl restart pki-tomcatd-nuxwdog@instance_name.service
将配置集作为管理员创建后,CA 代理必须批准代理服务页面中的配置集来启用配置集。
打开 CA 的服务页面。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow https://server.example.com:8443/ca/services
https://server.example.com:8443/ca/services
- 单击 Manage Certificate Profiles 链接。本页列出了管理员(活跃和不活跃)设置的所有证书配置文件。
- 单击要批准的证书配置文件的名称。
在页面底部,单击
按钮。
如果此配置文件与 TPS 一起使用,则必须配置 TPS 来识别配置文件类型。这是在 Red Hat Certificate System 规划、安装和部署指南中的 管理智能卡 CA 配置集 一节中所述。
配置集的授权方法只能使用命令行添加到配置集中,如 Red Hat Certificate System 规划、安装和部署指南中的 配置证书配置文件 部分中所述。
3.2.3.2. 在控制台中编辑证书配置文件
修改现有证书配置文件:
登录到代理服务页面并禁用配置集。
当一个代理启用了证书配置文件后,该证书配置文件会在 Certificate Profile Instance Management 选项卡中被标记为启用,且证书配置文件无法通过控制台以任何方式编辑。
登录证书系统 CA 子系统控制台。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkiconsole https://server.example.com:8443/ca
pkiconsole https://server.example.com:8443/ca
- 在 Configuration 选项卡中,选择 Certificate Manager,然后选择 Certificate Profiles。
- 选择证书配置文件,然后单击 。
此时会出现 证书配置文件规则编辑器 窗口。对默认值、约束、输入或输出的任何更改。
注意无法修改配置集实例 ID。
如有必要,通过拔出窗口其中一个角来放大窗口。
- 重启 CA 以应用更改。
- 在代理服务页面中,重新启用配置集。
删除未被代理批准的任何证书配置文件。出现在 Certificate Profile Instance Management 选项卡中的所有证书配置文件也会出现在代理服务界面中。如果已经启用配置集,则必须禁用代理,然后才能从配置集列表中删除它。
有关支持的配置文件列表,请参阅第 8.1.2 节"CMC 身份验证插件"。
3.2.4. 列出证书注册配置集
安装证书系统 CA 时,以下预定义的证书配置文件可以使用并在此环境中设置。这些证书配置文件是为最常见的证书类型设计的,它们提供了常见的默认值、约束、身份验证方法、输入和输出。
有关支持的配置集列表,请查看 第 11.3 节 “CMC 身份验证插件”
要在命令行上列出可用的配置集,请使用 pki
工具。例如:
pki -c password -n caadmin ca-profile-find
# pki -c password -n caadmin ca-profile-find
-------------------
59 entries matched
-------------------
Profile ID: caCMCserverCert
Name: Server Certificate Enrollment using CMC
Description: This certificate profile is for enrolling server certificates using CMC.
Profile ID: caCMCECserverCert
Name: Server Certificate wth ECC keys Enrollment using CMC
Description: This certificate profile is for enrolling server certificates with ECC keys using CMC.
Profile ID: caCMCECsubsystemCert
Name: Subsystem Certificate Enrollment with ECC keys using CMC
Description: This certificate profile is for enrolling subsystem certificates with ECC keys using CMC.
Profile ID: caCMCsubsystemCert
Name: Subsystem Certificate Enrollment using CMC
Description: This certificate profile is for enrolling subsystem certificates using CMC.
-----------------------------------
Number of entries returned 20
详情请查看 pki-ca-profile (1)
手册页。如需更多信息,请参阅 Red Hat Certificate System 规划、安装和部署指南中的 配置证书配置文件 部分。
3.2.5. 显示证书注册配置文件的详情
例如,要显示特定的证书配置文件,如 caECFullCMCUserSignedCert
:
pki -c password -n caadmin ca-profile-show caECFullCMCUserSignedCert
$ pki -c password -n caadmin ca-profile-show caECFullCMCUserSignedCert
-----------------------------------
Profile "caECFullCMCUserSignedCert"
-----------------------------------
Profile ID: caECFullCMCUserSignedCert
Name: User-Signed CMC-Authenticated User Certificate Enrollment
Description: This certificate profile is for enrolling user certificates with EC keys by using the CMC certificate request with non-agent user CMC authentication.
Name: Certificate Request Input
Class: cmcCertReqInputImpl
Attribute Name: cert_request
Attribute Description: Certificate Request
Attribute Syntax: cert_request
Name: Certificate Output
Class: certOutputImpl
Attribute Name: pretty_cert
Attribute Description: Certificate Pretty Print
Attribute Syntax: pretty_print
Attribute Name: b64_cert
Attribute Description: Certificate Base-64 Encoded
Attribute Syntax: pretty_print
例如,要以 raw 格式显示特定的证书配置文件,如 caECFullCMCUserSignedCert
:
pki -c password -n caadmin ca-profile-show caECFullCMCUserSignedCert --raw
$ pki -c password -n caadmin ca-profile-show caECFullCMCUserSignedCert --raw
#Wed Jul 25 14:41:35 PDT 2018
auth.instance_id=CMCUserSignedAuth
policyset.cmcUserCertSet.1.default.params.name=
policyset.cmcUserCertSet.4.default.class_id=authorityKeyIdentifierExtDefaultImpl
policyset.cmcUserCertSet.6.default.params.keyUsageKeyCertSign=false
policyset.cmcUserCertSet.10.default.class_id=noDefaultImpl
policyset.cmcUserCertSet.10.constraint.name=Renewal Grace Period Constraint
output.o1.class_id=certOutputImpl
...
详情请查看 pki-ca-profile (1)
手册页。