7.2. 使用 pkispawn 工具安装 RHCS


在 Red Hat Certificate System 中,管理员使用 pkispawn 实用程序设置各个子系统。本节可让您全面了解使用 pkispawn 安装可以正常工作。请仔细阅读它,以确保在遵循安装示例时做出正确的选择。

注意

如果您已熟悉 pkispawn,您可以直接转至 第 7.2.3 节 “安装示例(介绍)”

7.2.1. 创建 pkispawn 配置文件

pkispawn 工具需要一个配置文件。此文件包含分组为部分的参数。这些部分是堆栈的,因此前面部分中定义的参数可以被后续部分中定义的参数覆盖。部分按以下顺序读取:

  1. [DEFAULT] - 独立于子系统的设置
  2. [Tomcat]
  3. [CA], [KRA], [OCSP], [TKS], 或 [TPS] - 特定于子系统的部分

当它运行时,pkispawn:

  1. /usr/share/pki/server/etc/default.cfg 文件中读取默认值。详情请查看 pki_default.cfg (5) 手册页。

    重要

    不要编辑 /usr/share/pki/server/etc/default.cfg 文件。相反,将指示您创建将覆盖默认值的配置文件。有关使用配置文件的详情,请查看以下部分中与各种不同子系统类型对应的 pkispawn 配置文件示例。

  2. 读取上述管理员提供的配置文件,以覆盖默认值。
  3. 执行请求的子系统的安装。
  4. 将设置传递给根据设置执行配置的 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] 部分中的配置文件中需要以下设置:

  1. 设置唯一的实例名称:

    # pki_instance_name=instance_name
    Copy to Clipboard Toggle word wrap
  2. 设置主机名:

    # pki_hostname=server.example.com
    Copy to Clipboard Toggle word wrap
    注意

    证书系统根据这些参数和实例名称创建唯一的证书别名。证书 nickname 的唯一性对于保持由多个 PKI 实例正常工作的 HSM 令牌非常重要。

  3. 为 HTTP 和 HTTPS 协议设置端口号:

    pki_https_port=port_number
    pki_http_port=port_number
    Copy to Clipboard Toggle word wrap
    重要

    要在同一主机上运行多个证书系统实例,您必须在 pki_https_portpki_http_port 参数中设置端口,它们没有被主机上的任何其他服务使用。默认情况下,证书系统使用端口 8080 用于 HTTP,8443 用于 HTTPS。

  4. 设置特定于 HSM 的参数:

    pki_hsm_enable=True
    pki_hsm_libfile=HSM_PKCS11_library_path
    pki_hsm_modulename=HSM_module_name
    pki_token_name=HSM_token_name
    pki_token_password=HSM_token_password
    
    pki_audit_signing_token=HSM_token_name
    pki_subsystem_token=HSM_token_name
    pki_sslserver_token=HSM_token_name
    Copy to Clipboard Toggle word wrap

    详情请查看 第 6.6.3 节 “准备使用 HSM 安装证书系统”

  5. 如果构建 RSA 证书系统实例,请使用以下配置:

    pki_admin_key_algorithm=SHA256withRSA
    pki_admin_key_size=4096
    pki_admin_key_type=rsa
    pki_sslserver_key_algorithm=SHA256withRSA
    pki_sslserver_key_size=4096
    pki_sslserver_key_type=rsa
    pki_subsystem_key_algorithm=SHA256withRSA
    pki_subsystem_key_size=4096
    pki_subsystem_key_type=rsa
    pki_audit_signing_key_algorithm=SHA256withRSA
    pki_audit_signing_key_size=4096
    pki_audit_signing_key_type=rsa
    pki_audit_signing_signing_algorithm=SHA256withRSA
    Copy to Clipboard Toggle word wrap

    key_algorithm 参数允许的选择有:

    SHA256withRSA
    SHA384withRSA
    SHA512withRSA
    Copy to Clipboard Toggle word wrap
    注意

    您可以将这些算法参数设置为 CA 的 CS.cfg 文件中的 ca.profiles.defaultSigningAlgsAllowed 参数中指定的值。详情请查看管理指南中的 B.2.10 Signing Algorithm Constraint annex (通用标准版)。签名算法必须与 key_type 匹配。

  6. 要在创建证书时使用 Elliptic Curve Cryptography (ECC)而不是 RSA,请设置:

    pki_admin_key_algorithm=SHA256withEC
    pki_admin_key_size=nistp256
    pki_admin_key_type=ecc
    pki_sslserver_key_algorithm=SHA256withEC
    pki_sslserver_key_size=nistp256
    pki_sslserver_key_type=ecc
    pki_subsystem_key_algorithm=SHA256withEC
    pki_subsystem_key_size=nistp256
    pki_subsystem_key_type=ecc
    pki_audit_signing_key_algorithm=SHA256withEC
    pki_audit_signing_key_size=nistp256
    pki_audit_signing_key_type=ecc
    pki_audit_signing_signing_algorithm=SHA256withEC
    Copy to Clipboard Toggle word wrap

    key_algorithm 参数允许的选择有:

    SHA256withEC
    SHA384withEC
    SHA512withEC
    Copy to Clipboard Toggle word wrap
    注意

    您可以将这些算法参数设置为 CA 的 CS.cfg 文件中的 ca.profiles.defaultSigningAlgsAllowed 参数中指定的值。详情请查看 管理指南中的 B.2.10 Signing Algorithm Constraint anex。签名算法必须与 key_type 匹配。

    对于 ECC,key_size 允许选择:

    nistp256
    nistp384
    nistp521
    Copy to Clipboard Toggle word wrap

    对于 ECC,允许选择 key_typeecc

  7. 设置 bootstrap admin 用户的客户端目录:

    pki_client_dir=bootstrap_admin_directory
    Copy to Clipboard Toggle word wrap

    默认情况下,路径设置为 ~/.dogtag/instance_name/

    重要

    pki_admin JavaDoc 和 pki_client 27:2.7 参数属于安装过程自动创建的 bootstrap 用户。有关默认角色(特权)和 bootstrap 用户的更多信息,请参阅 第 2.6.6 节 “用户、授权和访问控制”。有关本节中涵盖的参数的描述,请参阅 pki_default.cfg (5) 手册页。

  8. 为 bootstrap admin 用户设置各种密码:

    pki_admin_password=password
    pki_client_database_password=password
    pki_client_pkcs12_password=password
    Copy to Clipboard Toggle word wrap
  9. 设置与在同一主机上运行的 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
    Copy to Clipboard Toggle word wrap
  10. 如果您在目录服务器中使用自签名证书,请使用以下命令将其从目录服务器的网络安全服务(NSS)数据库中导出:

    # certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
    Copy to Clipboard Toggle word wrap
  11. 对于充当安全域的 CA,请设置正确的参数:

    # 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 Toggle word wrap

[Tomcat] 部分:

  1. 设置 Tomcat JServ 协议(AJP)端口:

    pki_ajp_port=Tomcat_AJP_port
    Copy to Clipboard Toggle word wrap
  2. 设置 Tomcat 服务器端口:

    pki_tomcat_server_port=Tomcat_server_port
    Copy to Clipboard Toggle word wrap
重要

要在同一主机上运行多个 PKI 子系统实例,您必须在 pki_ajp_portpki_tomcat_server_port 参数中设置端口,它们没有被主机上的任何其他服务使用。默认情况下,pki_ajp_port 设置为 8009,pki_tomcat_server_port 设为 8005。

特定于子系统的设置

创建初始配置文件后,将特定于子系统的设置添加到其中。在 /usr/share/pki/server/etc/default.cfg 文件中搜索特定于子系统的部分([CA ]、[ OCSP ]、[ KRA][TKS][TPS])。

例如,请参阅:

7.2.2. 安装方法(单步或两步)

您可以在 单步安装或 两步 安装中运行 pkispawn

单步安装

在单步安装过程中,您首先创建一个配置文件,然后针对此文件运行 pkispawn,如下所示:

# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg –debug
Copy to Clipboard Toggle word wrap
注意

在开始安装前,最好先使用配置文件运行预先检查:

例如,用于 CA:

# pkispawn -s CA -f rootca_inst.cfg --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --debug
Copy to Clipboard Toggle word wrap

有关完整的示例,请参阅 第 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
Copy to Clipboard Toggle word wrap
注意

在开始安装之前,最好先使用 配置文件运行预先检查。

例如,用于 CA:

# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
Copy to Clipboard Toggle word wrap

步骤自定义之间的

在运行两个 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
Copy to Clipboard Toggle word wrap
注意

在开始安装之前,最好先使用 配置文件运行预先检查。

例如,用于 CA:

# pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
Copy to Clipboard Toggle word wrap

有关完整的示例,请参阅 第 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 实例:

重要

为了更好地了解涉及的流程,我们建议您:

  1. 如果您尚未完成,请按照 第 6 章 安装的先决条件 进行操作。
  2. 按照单步安装或两个步骤安装示例进行安装

    1. RootCA
    2. RootCA 的 OCSP (可选)
    3. SubCA
    4. SubCA 的 OCSP
    5. KRA
  3. (如果 TMS 值得关注 - RSA 仅)继续遵循单步安装或两个步骤安装示例

    1. TKS
    2. TPS
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat