第 13 章 管理子系统证书
本章概述了使用证书:可用的类型和格式、如何通过 HTML 最终用户表单和证书系统控制台请求并创建它们,以及如何在证书系统和不同客户端中安装证书。另外,还有有关通过控制台管理证书并将服务器配置为使用它们的信息。
13.1. 所需的子系统证书
每个子系统具有一组定义的证书,这些证书必须发布到子系统实例才能执行其操作。证书管理器配置过程中设置的证书内容的详情,根据证书类型的不同限制、设置和属性的不同注意事项。
13.1.1. 证书管理器证书
安装证书管理器时,会生成 CA 签名证书的密钥和证书、SSL 服务器证书和 OCSP 签名证书的密钥和证书。证书在配置完成前创建。
CA 证书请求作为自签名请求向 CA 提交,然后发出证书并完成创建自签名 root CA,或者提交到第三方公共 CA 或其他证书系统 CA。当外部 CA 返回证书时,证书会被安装,并完成从属 CA 的安装。
13.1.1.1. CA 签名密钥对和证书
每个证书管理器都有一个 CA 签名证书,其公钥与证书管理器用来签署证书及其问题的私钥相对应的公钥。安装证书管理器时,会创建并安装此证书。证书的默认 nickname 是 caSigningCert cert-instance_ID CA
,其中 instance_ID 标识证书管理器实例。证书的默认有效期为 5 年。
CA 签名证书的主题名称反映了在安装过程中设置的 CA 的名称。证书管理器签名或签发的所有证书都包含此名称来识别证书的签发者。
证书管理器的状态作为根或下级 CA 决定,由其 CA 签名证书是自签名还是由另一个 CA 签名,这会影响证书上的主题名称。
- 如果证书管理器是 root CA,则其 CA 签名证书是自签名的,这表示证书的主题名称和签发者名称相同。
- 如果证书管理器是从属 CA,则其 CA 签名证书由另一个 CA 签名,通常是在 CA 层次结构中的级别(可以是或不是 root CA)。root CA 的签名证书必须导入到单独的客户端和服务器中,然后才能使用证书管理器向它们发布证书。
无法更改 CA 名称,或者所有之前发布的证书都无效。同样,使用新密钥对重新颁发 CA 签名证书会使所有由旧密钥对签名的证书无效。
13.1.1.2. OCSP 签名密钥对和证书
OCSP 签名证书的主题名称采用 cn=OCSP cert-instance_ID CA
的形式,它包含扩展,如 OCSP
Sign 和 OCSPNoCheck
,用于签名 OCSP 响应。
OCSP 签名证书的默认 nickname 是 ocspSigningCert cert-instance_ID CA
,其中 instance_ID CA 标识证书管理器实例。
在查询证书撤销状态时,证书管理器会使用 OCSP 签名证书的公钥的 OCSP 私钥,为与 OCSP 兼容的客户端签署 OCSP 响应。
13.1.1.3. 子系统证书
安全域的每个成员都会发布用来与其他域成员间通信的服务器证书,这与服务器 SSL 证书分开。此证书由安全域 CA 签名;对于安全域 CA 本身,其子系统证书由自己签名。
证书的默认 nickname 是 subsystemCert cert-instance_ID
。
13.1.1.4. SSL 服务器密钥对和证书
每个证书管理器至少有一个 SSL 服务器证书,它会在安装证书管理器时最先生成。证书的默认 nickname 是 Server-Cert cert-instance_ID
,其中 instance_ID 标识证书管理器实例。
默认情况下,证书管理器使用单个 SSL 服务器证书进行身份验证。但是,可以请求额外的服务器证书用于不同的操作,如将证书管理器配置为使用单独的服务器证书来向最终用户服务接口和代理服务接口进行身份验证。
如果为启用 SSL 的通信配置了证书管理器,它将默认使用其 SSL 服务器证书客户端身份验证到发布目录。证书管理器也可以配置为使用不同的证书进行 SSL 客户端身份验证。
13.1.1.5. 审计日志签名密钥对和证书
CA 保留服务器上发生的所有事件的安全审计日志。为确保审计日志没有被篡改,日志文件由特殊的日志签名证书签名。
当服务器首次配置时,会发出审计日志签名证书。
13.1.2. 在线证书状态管理器证书
首次配置在线证书状态管理器时,会创建所有必需的证书的密钥,以及 OCSP 签名、SSL 服务器、审计日志签名和子系统证书的证书请求。这些证书请求将提交到 CA (证书系统 CA 或第三方 CA),且必须安装在在线证书状态管理器数据库中,以完成配置过程。
13.1.2.1. OCSP 签名密钥对和证书
每个在线证书状态管理器都有一个证书 OCSP 签名证书,其具有与在线证书状态管理器用来签署 OCSP 响应的私钥对应的公钥。在线证书状态管理器的签名提供在线证书状态管理器已处理请求的持久验证。当配置了在线证书状态管理器时,会生成此证书。证书的默认 nickname 是 ocspSigningCert cert-instance_ID
,其中 instance_ID OSCP 是 Online Certificate Status Manager 实例名称。
13.1.2.2. SSL 服务器密钥对和证书
每个在线证书状态管理器至少有一个 SSL 服务器证书,这是配置在线证书管理器时生成的。证书的默认 nickname 是 Server-Cert cert-instance_ID
,其中 instance_ID 标识在线证书 Status Manager 实例名称。
在线证书状态管理器将其服务器证书用于在线证书状态管理器代理服务页面的服务器端身份验证。
在线证书状态管理器使用单一服务器证书进行身份验证。可以安装其他服务器证书并用于不同的目的。
13.1.2.3. 子系统证书
安全域的每个成员都会发布用来与其他域成员间通信的服务器证书,这与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认 nickname 是 subsystemCert cert-instance_ID
。
13.1.2.4. 审计日志签名密钥对和证书
OCSP 保留服务器上发生的所有事件的安全审计日志。为确保审计日志没有被篡改,日志文件由特殊的日志签名证书签名。
当服务器首次配置时,会发出审计日志签名证书。
13.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,但不得在证书链中手动添加。
13.1.3. 密钥恢复授权授权证书
13.1.3.1. 传输密钥对和证书
每个 KRA 都有一个传输证书。用于生成传输证书的密钥对的公钥供客户端软件用来加密最终实体的私钥,然后再将其发送到 KRA 以进行存档;只有那些能够生成双密钥对的客户端使用传输证书。
13.1.3.2. 存储密钥对
每个 KRA 都有一个存储密钥对。 KRA 使用此密钥对的公钥组件在归档密钥时加密(或嵌套)私钥。它使用私有组件在恢复过程中解密(或解压缩)归档密钥。有关如何使用这个密钥对的详情请参考 第 4 章 设置密钥归档和恢复。
使用存储密钥加密的密钥只能通过授权密钥恢复代理检索。
13.1.3.3. SSL 服务器证书
每个证书系统 KRA 至少有一个 SSL 服务器证书。当配置了 KRA 时,将生成第一个 SSL 服务器证书。证书的默认 nickname 是 Server-Cert cert-instance_ID
,其中 instance_id 标识已安装 KRA 实例。
KRA 的 SSL 服务器证书由提交证书请求的 CA 发布,可以是证书系统 CA 或第三方 CA。要查看签发者名称,请在 KRA 控制台中的 System Keys 和 Certificates 选项中打开证书详情。
KRA 使用其 SSL 服务器证书对 KRA 代理服务接口进行服务器端身份验证。默认情况下,密钥恢复机构使用单个 SSL 服务器证书进行身份验证。但是,可以为 KRA 请求并安装其他 SSL 服务器证书。
13.1.3.4. 子系统证书
安全域的每个成员都会发布用来与其他域成员间通信的服务器证书,这与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认 nickname 是 subsystemCert cert-instance_ID
。
13.1.3.5. 审计日志签名密钥对和证书
KRA 保留服务器上发生的所有事件的安全审计日志。为确保审计日志没有被篡改,日志文件由特殊的日志签名证书签名。
当服务器首次配置时,会发出审计日志签名证书。
13.1.4. TKS 证书
TKS 有三个证书。SSL 服务器和子系统证书用于标准操作。额外的签名证书用于保护审计日志。
13.1.4.1. SSL 服务器证书
每个证书系统 TKS 至少有一个 SSL 服务器证书。当配置了 TKS 时,将生成第一个 SSL 服务器证书。证书的默认 nickname 是 Server-Cert cert-instance_ID
。
13.1.4.2. 子系统证书
安全域的每个成员都会发布用来与其他域成员间通信的服务器证书,这与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认 nickname 是 subsystemCert cert-instance_ID
。
13.1.4.3. 审计日志签名密钥对和证书
TKS 保留服务器上发生的所有事件的安全审计日志。为确保审计日志没有被篡改,日志文件由特殊的日志签名证书签名。
当服务器首次配置时,会发出审计日志签名证书。
13.1.5. TPS 证书
TPS 仅使用三个证书:服务器证书、子系统证书和审计日志签名证书。
13.1.5.1. SSL 服务器证书
每个证书系统 TPS 至少有一个 SSL 服务器证书。当配置了 TPS 时,将生成第一个 SSL 服务器证书。证书的默认 nickname 是 Server-Cert cert-instance_ID
。
13.1.5.2. 子系统证书
安全域的每个成员都会发布用来与其他域成员间通信的服务器证书,这与服务器 SSL 证书分开。此证书由安全域 CA 签名。
证书的默认 nickname 是 subsystemCert cert-instance_ID
。
13.1.5.3. 审计日志签名密钥对和证书
TPS 保留服务器上发生的所有事件的安全审计日志。为确保审计日志没有被篡改,日志文件由特殊的日志签名证书签名。
当服务器首次配置时,会发出审计日志签名证书。
13.1.6. 关于子系统证书密钥类型
创建新实例时,您可以在传递给 pkispawn
工具的配置文件中指定密钥类型和密钥大小。
例 13.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。其他子系统需要不同的参数。
如需了解更多详细信息,请参阅:
- 7.2 使用 规划、安装和部署指南中的 pkispawn 工具(通用标准版)安装 RHCS。
-
pki_default.cfg (5)
手册页以了解参数和示例。
13.1.7. 使用 HSM 存储子系统证书
默认情况下,密钥和证书分别保存在 /var/lib/pki/instance_name/alias
目录中本地管理的数据库 key4.db
和 cert9.db
中。但是,红帽认证系统还支持硬件安全模块(HSM),外部设备可以将密钥和证书存储在网络上的集中位置。使用 HSM 可以使一些功能(如克隆)更容易访问,因为实例的密钥和证书可以被轻松访问。
当使用 HSM 来存储证书时,HSM 名称将添加到证书 nickname 的前面,并在子系统配置(如 server.xml
文件)中使用全名。例如:
serverCert="nethsm:Server-Cert cert-instance_ID
单个 HSM 可用于存储 mulitple 子系统实例的证书和密钥,这些实例可以安装到多个主机上。当使用 HSM 时,子系统的任何证书别名对于 HSM 上管理的每个子系统实例都必须是唯一的。
证书系统支持两种类型的 HSM,即 nShield Connect XC 和 Luna。