11.4. 配置 CA 系统证书配置文件


与非 CA 子系统不同,CA 自己的系统证书的注册配置集保存在 /var/lib/pki/[instance name]/ca/conf 文件中。这些配置集是:

  • caAuditSigningCert.profile
  • eccAdminCert.profile
  • rsaAdminCert.profile
  • caCert.profile
  • eccServerCert.profile
  • saServerCert.profile
  • caOCSPCert.profile
  • eccSubsystemCert.profile
  • rsaSubsystemCert.profile

11.4.1. 更改证书配置文件的默认值

如果要更改上述配置集的默认值,请在执行两步安装的第二个步骤前对配置集进行更改(如 步骤自定义之间的 所述)。以下是一个演示了以下的示例:

  • 如何更改 CA 签名证书的有效性。
  • 如何添加扩展(如证书策略扩展)。

    1. 备份 pkispawn 使用的原始 CA 证书配置文件。

      # cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
      Copy to Clipboard Toggle word wrap
    2. 打开配置向导使用的 CA 证书配置文件。

      # vim /usr/share/pki/ca/conf/caCert.profile
      Copy to Clipboard Toggle word wrap
    3. Validity Default 中的有效期期限重置为所需的值。例如,要将周期改为两年:

      2.default.class=com.netscape.cms.profile.def.ValidityDefault
      2.default.name=Validity Default
      2.default.params.range=720
      Copy to Clipboard Toggle word wrap
    4. 通过在配置集中创建一个新的默认条目并将其添加到列表中,添加任何扩展。例如,要添加 证书策略扩展,请添加默认值(在本示例中,是默认的 #9):

      9.default.class_id=certificatePoliciesExtDefaultImpl
      9.default.name=Certificate Policies Extension Default
      9.default.params.Critical=false
      9.default.params.PoliciesExt.certPolicy0.enable=false
      9.default.params.PoliciesExt.certPolicy0.policyId=
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=true
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=CertificatePolicies.example.com
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value=
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers=
      9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
      Copy to Clipboard Toggle word wrap

      然后,将默认数字添加到默认值列表中,以使用新的默认值:

      list=2,4,5,6,7,8,9
      Copy to Clipboard Toggle word wrap

11.4.2. 允许原来在有效期内续订 CA 证书

通常,在发布 CA 证书过期日期 ,无法通过有效期发布证书。如果 CA 证书的过期日期为 2023 年 12 月 31 日,则问题的所有证书都必须在 2023 年 12 月 31 日前过期。

此规则适用于 CA 发布的其他 CA 签名证书 - 导致更新 root CA 证书几乎不可能。续订 CA 签名证书意味着它必须经过有效期限,而不是其自身的到期日期。

可以使用 CA Validity Default 更改此行为。此默认允许一个设置(bypassCAnotafter),该设置允许以有效期期发布 CA 证书,并延长了发布 CA 的过期(notAfter)日期。

图 11.1. CA 有效期默认配置

在实际部署中,这意味着当可能阻止时,可以续订 root CA 的 CA 证书。

要启用 CA 证书续订,超过原始 CA 的有效性日期:

  1. 停止 CA:

    # systemctl stop pki-tomcatd@instance_name.service
    Copy to Clipboard Toggle word wrap

    或者,如果使用 Nuxwdog watchdog:

    # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
    Copy to Clipboard Toggle word wrap
  2. 打开 caCACert.cfg 文件。

    # var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg
    Copy to Clipboard Toggle word wrap
  3. 默认情况下,CA Validity 默认应存在。将值设为 true 以允许在发布 CA 的有效性周期内续订 CA 证书。

    policyset.caCertSet.2.default.name=CA Certificate Validity Default
    policyset.caCertSet.2.default.params.range=2922
    policyset.caCertSet.2.default.params.startTime=0
    policyset.caCertSet.2.default.params.bypassCAnotafter=true
    Copy to Clipboard Toggle word wrap
  4. 启动 CA 以应用更改。

    # systemctl start pki-tomcatd@instance_name.service
    Copy to Clipboard Toggle word wrap

    或者,如果使用 Nuxwdog watchdog:

    # systemctl start pki-tomcatd-nuxwdog@instance_name.service
    Copy to Clipboard Toggle word wrap

当代理检查续订请求时,在 Extensions/Fields 区域中有一个选项,允许代理选择绕过正常的有效期约束。如果代理选择 false,则强制约束,即使配置文件中设置了 bypassCAnotafter=true。如果没有启用 bypassCAnotafter 值,则代理选择 true,则 CA 将拒绝续订请求。

图 11.2. 在代理服务页面中绕过 CA 约束选项

注意

CA Validity 默认仅适用于 CA 签名证书续订。其他证书必须在 CA 的有效周期内发布和更新。

CA ca.enablePastCATime 的单独配置设置可用于允许在 CA 的有效周期内续订证书。但是,这适用于该 CA 发布的 每个证书。由于潜在的安全问题,不建议在生产环境中使用此设置。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat