7.2. 使用 pkispawn 工具安装 RHCS
在 Red Hat Certificate System 中,管理员使用 pkispawn
实用程序设置各个子系统。本节可让您全面了解使用 pkispawn
安装可以正常工作。请仔细阅读它,以确保在遵循安装示例时做出正确的选择。
如果您已熟悉 pkispawn
,您可以直接转至 第 7.2.3 节 “安装示例(介绍)”。
7.2.1. 创建 pkispawn 配置文件 复制链接链接已复制到粘贴板!
pkispawn
工具需要一个配置文件。此文件包含分组为部分的参数。这些部分是堆栈的,因此前面部分中定义的参数可以被后续部分中定义的参数覆盖。部分按以下顺序读取:
- [DEFAULT] - 独立于子系统的设置
- [Tomcat]
- [CA], [KRA], [OCSP], [TKS], 或 [TPS] - 特定于子系统的部分
当它运行时,pkispawn
:
从
/usr/share/pki/server/etc/default.cfg
文件中读取默认值。详情请查看pki_default.cfg (5)
手册页。重要不要编辑
/usr/share/pki/server/etc/default.cfg
文件。相反,将指示您创建将覆盖默认值的配置文件。有关使用配置文件的详情,请查看以下部分中与各种不同子系统类型对应的pkispawn
配置文件示例。- 读取上述管理员提供的配置文件,以覆盖默认值。
- 执行请求的子系统的安装。
- 将设置传递给根据设置执行配置的 Java servlet。
pkispawn 设置
以下提供了有关如何为 pkispawn
创建配置文件以及一些主要参数的信息。详情请参阅 pkispawn (8)
和 pki_default.cfg (5)
man page,特别是 /usr/share/pki/server/etc/default.cfg
,如
-
参数属于哪个
[ ]
部分或 - 参数的确切拼写,
- etc.
为 pkispawn
配置设置创建一个文本文件,如 /root/pki/config.subsystem.txt
,并使用下面描述的设置填充该文件。您必须在对应的 [ ]
部分下添加每个设置。您可以引用 /usr/share/pki/server/etc/default.cfg
文件来确认正确的放置。
这部分论述了使用与证书系统在同一主机上运行的目录服务器的通用配置。根据您的环境,可能需要额外的参数。有关其他示例,请参阅 pkispawn (8)
手册页中的 EXAMPLES 部分。
有关本节中涵盖的参数的描述,请参阅 pki_default.cfg (5)
手册页。
子系统独立的设置
独立于您安装的子系统,[DEFAULT]
部分中的配置文件中需要以下设置:
设置唯一的实例名称:
pki_instance_name=instance_name
# pki_instance_name=instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置主机名:
pki_hostname=server.example.com
# pki_hostname=server.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意证书系统根据这些参数和实例名称创建唯一的证书别名。证书 nickname 的唯一性对于保持由多个 PKI 实例正常工作的 HSM 令牌非常重要。
为 HTTP 和 HTTPS 协议设置端口号:
pki_https_port=port_number pki_http_port=port_number
pki_https_port=port_number pki_http_port=port_number
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要要在同一主机上运行多个证书系统实例,您必须在
pki_https_port
和pki_http_port
参数中设置端口,它们没有被主机上的任何其他服务使用。默认情况下,证书系统使用端口 8080 用于 HTTP,8443 用于 HTTPS。设置特定于 HSM 的参数:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 详情请查看 第 6.6.3 节 “准备使用 HSM 安装证书系统”。
如果构建 RSA 证书系统实例,请使用以下配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key_algorithm 参数允许的选择有:
SHA256withRSA SHA384withRSA SHA512withRSA
SHA256withRSA SHA384withRSA SHA512withRSA
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以将这些算法参数设置为 CA 的
CS.cfg
文件中的ca.profiles.defaultSigningAlgsAllowed
参数中指定的值。详情请查看管理指南中的 B.2.10 Signing Algorithm Constraint annex (通用标准版)。签名算法必须与key_type
匹配。要在创建证书时使用 Elliptic Curve Cryptography (ECC)而不是 RSA,请设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key_algorithm
参数允许的选择有:SHA256withEC SHA384withEC SHA512withEC
SHA256withEC SHA384withEC SHA512withEC
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以将这些算法参数设置为 CA 的
CS.cfg
文件中的ca.profiles.defaultSigningAlgsAllowed
参数中指定的值。详情请查看 管理指南中的 B.2.10 Signing Algorithm Constraint anex。签名算法必须与key_type
匹配。对于 ECC,
key_size
允许选择:nistp256 nistp384 nistp521
nistp256 nistp384 nistp521
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 ECC,允许选择
key_type
是ecc
。设置 bootstrap admin 用户的客户端目录:
pki_client_dir=bootstrap_admin_directory
pki_client_dir=bootstrap_admin_directory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,路径设置为
~/.dogtag/instance_name/
重要pki_admin
JavaDoc 和pki_client
27:2.7 参数属于安装过程自动创建的 bootstrap 用户。有关默认角色(特权)和 bootstrap 用户的更多信息,请参阅 第 2.6.6 节 “用户、授权和访问控制”。有关本节中涵盖的参数的描述,请参阅pki_default.cfg (5)
手册页。为 bootstrap admin 用户设置各种密码:
pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=password
pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置与在同一主机上运行的 Directory 服务器的 LDAPS 连接的参数:
pki_ds_database=back-end database name pki_ds_hostname=hostname pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password
pki_ds_database=back-end database name pki_ds_hostname=hostname pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您在目录服务器中使用自签名证书,请使用以下命令将其从目录服务器的网络安全服务(NSS)数据库中导出:
certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
# certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于充当安全域的 CA,请设置正确的参数:
for a CA that acts as a security domain
# for a CA that acts as a security domain pki_security_domain_hostname= pki_security_domain_name=example.com Security Domain pki_security_domain_user=caadmin pki_security_domain_password=SD password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
[Tomcat] 部分:
设置 Tomcat JServ 协议(AJP)端口:
pki_ajp_port=Tomcat_AJP_port
pki_ajp_port=Tomcat_AJP_port
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置 Tomcat 服务器端口:
pki_tomcat_server_port=Tomcat_server_port
pki_tomcat_server_port=Tomcat_server_port
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要在同一主机上运行多个 PKI 子系统实例,您必须在 pki_ajp_port
和 pki_tomcat_server_port 参数中设置端口
,它们没有被主机上的任何其他服务使用。默认情况下,pki_ajp_port
设置为 8009,pki_tomcat_server_port
设为 8005。
特定于子系统的设置
创建初始配置文件后,将特定于子系统的设置添加到其中。在 /usr/share/pki/server/etc/default.cfg
文件中搜索特定于子系统的部分([CA
]、[ OCSP
]、[ KRA]
、[TKS]
或 [TPS]
)。
例如,请参阅:
- [CA] - 第 7.3 节 “创建并配置 RootCA (第 I 部分)”
- [OCSP] - 第 7.4 节 “创建并配置 OCSP 实例(RootCA)” 和 第 7.7 节 “创建并配置 OCSP 实例(SubCA)”
- [CA] - 第 7.6 节 “创建并配置 SubCA (第 I 部分)”
- [KRA] - 第 7.9 节 “创建并配置 KRA 实例”
- [TKS] - 第 7.10 节 “创建并配置 TKS 实例”
- [TPS] - 第 7.11 节 “创建并配置 TPS 实例”
7.2.2. 安装方法(单步或两步) 复制链接链接已复制到粘贴板!
您可以在 单步安装或 两步 安装中运行 pkispawn
:
- 单步安装
在单步安装过程中,您首先创建一个配置文件,然后针对此文件运行
pkispawn
,如下所示:pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg –debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在开始安装前,最好先使用配置文件运行预先检查:
例如,用于 CA:
pkispawn -s CA -f rootca_inst.cfg --precheck --debug pkispawn -s CA -f rootca_inst.cfg --debug
# pkispawn -s CA -f rootca_inst.cfg --precheck --debug # pkispawn -s CA -f rootca_inst.cfg --debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关完整的示例,请参阅 第 7.3.1 节 “安装 RootCA 实例(单步方法)”。
- 两步安装
在两步安装中,管理员可以手动更新安装两个部分之间的配置文件。此方法可以更好地自定义。
两步安装由以下主要部分组成:
第一步
在这一步中,
pkispawn
将配置文件从/usr/share/pki/
目录中复制到特定于实例的/etc/pki/instance_name/
目录中。另外,pkispawn 根据部署配置文件中定义的值设置。pkispawn
的第一步运行如下:pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在开始安装之前,最好先使用 配置文件运行预先检查。
例如,用于 CA:
pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug # pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
步骤自定义之间的
在运行两个 pkispawn
步骤时,您有机会在下一个 pkispawn 步骤前手动更新一些特定于实例的配置文件。您在此时自定义的参数一般是您无法在 pkispawn
配置文件中配置的参数,但会影响系统的结果或行为。这种自定义的示例包括但不限于:
系统证书注册在
/var/lib/pki/<CA 实例名称>/ca/conf configured.profile 下的系统证书注册配置集
(请参阅 第 11 章 配置证书配置文件)- 例如,通过编辑对应的系统证书配置文件,将所需的证书扩展(不属于默认配置文件)添加到系统证书
- 例如,通过编辑对应的系统证书配置文件来更改系统证书的有效性周期
密码列表(请参阅 第 7.13.11 节 “更新密码列表”)
- 例如,进一步限制支持的密码
- etc.
第二步
在这一步中,pkispawn
会根据特定于实例的 /etc/pki/instance_name/
目录中的配置文件继续安装。第二步运行如下:
pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debug
在开始安装之前,最好先使用 配置文件运行预先检查。
例如,用于 CA:
pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
有关完整的示例,请参阅 第 7.3.2 节 “安装 RootCA 实例(两步方法)”。
7.2.3. 安装示例(介绍) 复制链接链接已复制到粘贴板!
为了更好地演示如何安装每种类型的 CS 实例,我们在单独的 Tomcat 实例上为以下 RSA RHCS 子系统提供以下安装/配置流程示例,其中 Entrust nShield Connect XC 单元使用了支持的固件/软件:
- non-TMS: root CA (RootCA), OCSP (RootCA), 子 CA (SubCA), OCSP (SubCA), OCSP (用于 SubCA), KRA (SubCA)。
- TMS (如果关注):TKS (用于 SubCA)、TPS (用于 SubCA)。
通常,不建议执行日常证书颁发的根 CA。因此,不需要 root CA 的 OCSP。在我们的示例中,仅针对演示目的提供了 RootCA 的 OCSP。
有关 ECC 环境,请查看 ECC 示例。
在以下示例中,我们将使用 pkispawn
工具来创建以下 PKI 拓扑,其中 RootCA (拥有自己的 OCSP 实例)为 SubCA 的 CA 签名证书提供证书颁发,而 SubCA 是其自己的 OCSP 和 KRA 实例的安全域,如果 TMS 值得关注,则 TKS 和 TPS 实例:
为了更好地了解涉及的流程,我们建议您:
- 如果您尚未完成,请按照 第 6 章 安装的先决条件 进行操作。
按照单步安装或两个步骤安装示例进行安装
- RootCA
- RootCA 的 OCSP (可选)
- SubCA
- SubCA 的 OCSP
- KRA
(如果 TMS 值得关注 - RSA 仅)继续遵循单步安装或两个步骤安装示例
- TKS
- TPS