第 17 章 管理子系统证书


本章概述了使用证书:可以使用哪些类型和格式,如何通过 HTML 端点表单和证书系统控制台来请求和创建它们,以及如何在证书系统和不同的客户端中安装证书。另外,还有有关通过控制台管理证书的信息,并将服务器配置为使用它们。

17.1. 所需的子系统证书

每个子系统都有一组定义的证书,这些证书必须发布到子系统实例,才能执行操作。证书管理器配置期间设置的证书内容有某些细节,但根据证书类型,限制、设置和属性的不同注意事项;规划 证书系统规划、安装和部署指南中的证书格式

17.1.1. 证书管理器证书

安装证书管理器后,会生成 CA 签名证书、SSL 服务器证书和 OCSP 签名证书的密钥和请求。证书在配置完成之前创建。
CA 证书请求作为自签名请求提交给 CA,然后签发证书并完成创建自签名 root CA,或者提交到第三方公共 CA 或其他证书系统 CA。当外部 CA 返回证书时,证书会被安装,并且完成从属 CA 的安装。

17.1.1.1. CA 签名密钥和证书

每个证书管理器都有一个 CA 签名证书,其与证书管理器用来为证书签名的私钥对应的公钥对应。在安装证书管理器时,会创建并安装此证书。证书的默认别名是 caSigningCert cert-instance_ID CA,其中 instance_ID 标识证书管理器实例。证书的默认有效期为五年。
CA 签名证书的主题名称反映了在安装过程中设置的 CA 的名称。证书管理器签名或签发的所有证书都包含此名称来标识证书的签发者。
证书管理器的状态是 root 或从属 CA 的状态,它由其 CA 签名证书是自签名还是由另一个 CA 签名,这会影响证书的主题名称。
  • 如果证书管理器是 root CA,则其 CA 签名证书是自签名的,这意味着证书的主题名称和签发者名称相同。
  • 如果证书管理器是从属 CA,其 CA 签名证书由另一个 CA 签名,通常是 CA 层次结构上面的级别(可能或可能不是 root CA)。在证书管理器可用于向它们发布证书之前,必须将 root CA 的签名证书导入到单独的客户端和服务器中。
注意
CA 名称 不能更改,或者所有之前发布的证书都无效。同样,使用新密钥对恢复 CA 签名证书会导致旧密钥对的所有证书无效。

17.1.1.2. OCSP 签名密钥和证书

OCSP 签名证书的主题名称的格式是 cn=OCSP cert-instance_ID CA,它包含扩展,如 OCSPSigningOCSPNoCheck,用于签名 OCSP 响应。
OCSP 签名证书的默认别名为 ocspSigningCert cert-instance_ID,其中 instance_ID CA 标识证书管理器实例。
证书管理器使用与 OCSP 签名证书的公钥对应的 OCSP 私钥,在查询证书撤销状态时,向 OCSP 兼容客户端签名 OCSP 响应。

17.1.1.3. 子系统证书

安全域的每个成员都会发布一个服务器证书,用于与其他域成员之间的通信,后者与服务器 SSL 证书分开。此证书由安全域 CA 签名;对于安全域 CA 本身,其子系统证书由自身签名。
证书的默认别名是 subsystemCert cert-instance_ID

17.1.1.4. SSL 服务器密钥检测和证书

每个证书管理器至少有一个 SSL 服务器证书是在安装证书管理器时首次生成的。证书的默认别名是 Server-Cert cert-instance_ID,其中 instance_ID 标识证书管理器实例。
默认情况下,证书管理器使用单个 SSL 服务器证书进行身份验证。但是,可以请求额外的服务器证书来用于不同的操作,如将证书管理器配置为使用单独的服务器证书对最终用户服务接口和代理服务接口进行身份验证。
如果为启用了 SSL 的发布目录通信配置了证书管理器,它将默认使用其 SSL 服务器证书进行客户端身份验证到发布目录。证书管理器也可以配置为使用其他证书进行 SSL 客户端身份验证。

17.1.1.5. 审计日志签名密钥和证书

CA 保留服务器上发生的所有事件的安全审计日志。为确保审计日志未被篡改,日志文件由特殊的日志签名证书签名。
在第一次配置服务器时,会发布审计日志签名证书。
注意
虽然其他证书可以使用 ECC 密钥,但审计签名证书 必须始终 使用 RSA 密钥。

17.1.2. 在线证书状态管理器证书

首次配置在线证书状态管理器后,会创建所有必需的证书的密钥,以及 OCSP 签名、SSL 服务器、审计日志签名和子系统证书的证书请求。这些证书请求提交到 CA (证书系统 CA 或第三方 CA),且必须安装在在线证书状态管理器数据库中来完成配置过程。

17.1.2.1. OCSP 签名密钥和证书

每个在线证书状态管理器都有一个证书 OCSP 签名证书,该证书与在线证书状态管理器用来签署 OCSP 响应的私钥对应。在线证书状态管理器的签名提供了在线证书状态管理器处理请求的持久概念验证。当配置了在线证书状态管理器时,会生成此证书。证书的默认别名为 ocspSigningCert cert-instance_ID,其中 instance_ID OSCP 是在线证书状态管理器实例名称。

17.1.2.2. SSL 服务器密钥检测和证书

每个在线证书状态管理器至少有一个 SSL 服务器证书,该证书是在配置在线证书状态管理器时生成的。证书的默认别名是 Server-Cert cert-instance_ID,其中 instance_ID 标识在线证书状态管理器实例名称。
Online 证书状态管理器将其服务器证书用于在线证书状态管理器代理服务页面的服务器端身份验证。
在线证书状态管理器使用单一服务器证书进行身份验证。可以安装其他服务器证书并用于不同的目的。

17.1.2.3. 子系统证书

安全域的每个成员都会发布一个服务器证书,用于与其他域成员之间的通信,后者与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认别名是 subsystemCert cert-instance_ID

17.1.2.4. 审计日志签名密钥和证书

OCSP 保留服务器上发生的所有事件的安全审计日志。为确保审计日志未被篡改,日志文件由特殊的日志签名证书签名。
在第一次配置服务器时,会发布审计日志签名证书。
注意
虽然其他证书可以使用 ECC 密钥,但审计签名证书 必须始终 使用 RSA 密钥。

17.1.2.5. 识别在线证书状态管理器证书

根据签署在线证书状态管理器的 SSL 服务器证书的 CA,可能需要获取证书并发布证书管理器识别的 CA。
  • 如果在线证书状态管理器的服务器证书由发布 CRL 的 CA 签名,则不需要进行任何操作。
  • 如果在线证书状态管理器的服务器证书由签署从属证书管理器证书的同一 root CA 签名,那么 root CA 必须在从属证书管理器的证书数据库中被标记为可信 CA。
  • 如果在线证书状态管理器的 SSL 服务器证书由不同的 root CA 签名,则必须将 root CA 证书导入到从属证书管理器的证书数据库中,并标记为可信 CA。
如果在线证书状态管理器的服务器证书由所选安全域中的 CA 签名,则证书链会在配置在线证书状态管理器时导入并标记。不需要其他配置。但是,如果服务器证书由外部 CA 签名,则必须导入证书链才能完成配置。
注意
在配置时 OCSP Manager 会自动信任安全域中的每个 CA。CA 面板中配置的 CA 证书链中的每个 CA 都是,但由 OCSP Manager 自动信任。安全域中的其他 CA,但不能在证书链中手动添加。

17.1.3. 密钥恢复授权证书

KRA 使用以下密钥对和证书:

17.1.3.1. 传输密钥描述和证书

每个 KRA 都有一个传输证书。用于生成传输证书的密钥对的公钥供客户端软件用来加密最终实体的私钥,然后再将其发送到存档的 KRA;只有能够生成双密钥对的客户端使用传输证书。

17.1.3.2. 存储密钥分区

每个 KRA 都有存储密钥对。 KRA 使用此密钥对的公钥组件在归档密钥时加密(或嵌套)私钥。它使用私有组件在恢复过程中解密(或取消包装)归档的密钥。有关如何使用这个密钥对的详情,请参考 第 4 章 设置 Key Archival 和恢复
使用存储密钥加密的密钥只能由授权密钥恢复代理来检索。

17.1.3.3. SSL 服务器证书

每个证书系统 KRA 至少有一个 SSL 服务器证书。配置 KRA 时会生成第一个 SSL 服务器证书。证书的默认别名是 Server-Cert cert-instance_ID,其中 instance_id 标识 KRA 实例。
KRA 的 SSL 服务器证书由提交证书的 CA 发布,可以是证书系统 CA 或第三方 CA。要查看签发者名称,请在 KRA 控制台中的 System Keys 和 Certificates 选项中打开证书详情。
KRA 使用其 SSL 服务器证书对 KRA 代理服务接口进行服务器端身份验证。默认情况下,密钥恢复授权使用单个 SSL 服务器证书进行身份验证。但是,可以为 KRA 请求并安装额外的 SSL 服务器证书。

17.1.3.4. 子系统证书

安全域的每个成员都会发布一个服务器证书,用于与其他域成员之间的通信,后者与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认别名是 subsystemCert cert-instance_ID

17.1.3.5. 审计日志签名密钥和证书

KRA 保留服务器上发生的所有事件的安全审计日志。为确保审计日志未被篡改,日志文件由特殊的日志签名证书签名。
在第一次配置服务器时,会发布审计日志签名证书。
注意
虽然其他证书可以使用 ECC 密钥,但审计签名证书 必须始终 使用 RSA 密钥。

17.1.4. TKS 证书

TKS 有三个证书。SSL 服务器和子系统证书用于标准操作。额外的签名证书用于保护审计日志。

17.1.4.1. SSL 服务器证书

每个证书系统 TKS 至少有一个 SSL 服务器证书。配置 TKS 时会生成第一个 SSL 服务器证书。证书的默认别名是 Server-Cert cert-instance_ID

17.1.4.2. 子系统证书

安全域的每个成员都会发布一个服务器证书,用于与其他域成员之间的通信,后者与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认别名是 subsystemCert cert-instance_ID

17.1.4.3. 审计日志签名密钥和证书

TKS 保留服务器上发生的所有事件的安全审计日志。为确保审计日志未被篡改,日志文件由特殊的日志签名证书签名。
在第一次配置服务器时,会发布审计日志签名证书。
注意
虽然其他证书可以使用 ECC 密钥,但审计签名证书 必须始终 使用 RSA 密钥。

17.1.5. TPS 证书

TPS 仅使用三个证书:服务器证书、子系统证书和审计日志签名证书。

17.1.5.1. SSL 服务器证书

每个证书系统 TPS 至少有一个 SSL 服务器证书。配置 TPS 时会生成第一个 SSL 服务器证书。证书的默认别名是 Server-Cert cert-instance_ID

17.1.5.2. 子系统证书

安全域的每个成员都会发布一个服务器证书,用于与其他域成员之间的通信,后者与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认别名是 subsystemCert cert-instance_ID

17.1.5.3. 审计日志签名密钥和证书

TPS 保留服务器上发生的所有事件的安全审计日志。为确保审计日志未被篡改,日志文件由特殊的日志签名证书签名。
在第一次配置服务器时,会发布审计日志签名证书。

17.1.6. 关于子系统证书密钥类型

当您创建新实例时,您可以在传递给 pkispawn 工具的配置文件中指定密钥类型和密钥大小。

例 17.1. CA 的密钥类型相关配置参数

以下是与类型相关的关键参数,包括示例值。您可以在创建新 CA 时传递给 pkispawn 的配置文件中设置这些参数。
pki_ocsp_signing_key_algorithm=SHA256withRSA
pki_ocsp_signing_key_size=2048
pki_ocsp_signing_key_type=rsa

pki_ca_signing_key_algorithm=SHA256withRSA
pki_ca_signing_key_size=2048
pki_ca_signing_key_type=rsa

pki_sslserver_key_algorithm=SHA256withRSA
pki_sslserver_key_size=2048
pki_sslserver_key_type=rsa

pki_subsystem_key_algorithm=SHA256withRSA
pki_subsystem_key_size=2048
pki_subsystem_key_type=rsa

pki_admin_keysize=2048
pki_admin_key_size=2048
pki_admin_key_type=rsa

pki_audit_signing_key_algorithm=SHA256withRSA
pki_audit_signing_key_size=2048
pki_audit_signing_key_type=rsa
注意
示例中的值适用于 CA。其他子系统需要不同的参数。
如需了解更多详细信息,请参阅:
  • 红帽证书系统规划、安装和部署指南中的 了解 pkispawn 实用程序 一节。
  • 有关参数和示例的描述的 pki_default.cfg(5) man page。

17.1.7. 使用 HSM 存储子系统证书

默认情况下,密钥和证书分别存储在本地管理的数据库、key4.dbcert9.db 中,位于 /var/lib/pki/instance_name/alias 目录中。但是,红帽认证系统还支持硬件安全模块(HSM),外部设备可将密钥和证书存储在网络上的集中位置。使用 HSM 可使一些功能(如克隆)变得更加容易,因为实例的密钥和证书可以被只读访问。
当使用 HSM 来存储证书时,则 HSM 名称被放在证书 nickname 前,并在子系统配置中使用全名,如 server.xml 文件。例如:
serverCert="nethsm:Server-Cert cert-instance_ID
注意
单个 HSM 可用于存储 mulitple 子系统实例的证书和密钥,这些实例可能安装到多个主机上。使用 HSM 时,子系统的任何证书 nickname 都必须对 HSM 上管理的每个子系统实例都是唯一的。
证书系统支持两种类型的 HSM、nCipher netHSM 和 Chrysalis LunaSA。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.