搜索

26.2. 续订证书

download PDF
有关以下方面的详情:

26.2.1. 自动续订证书

certmonger 服务会在过期前自动更新以下证书 28 天:
  • IdM CA 作为 root CA 发布的 CA 证书
  • 由内部 IdM 服务使用的集成的 IdM CA 发布的子系统和服务器证书
要自动更新子 CA CA 证书,必须在 certmonger 跟踪列表中列出它们。更新跟踪列表:
[root@ipaserver ~]# ipa-certupdate
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'schema' to json server 'https://idmserver.idm.example.com/ipa/json'
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'ca_is_enabled' to json server 'https://idmserver.idm.example.com/ipa/json'
Forwarding 'ca_find/1' to json server 'https://idmserver.idm.example.com/ipa/json'
Systemwide CA database updated.
Systemwide CA database updated.
The ipa-certupdate command was successful
注意
如果您使用外部 CA 作为 root CA,则必须手动更新证书,如 第 26.2.2 节 “手动续订 CA 证书” 所述。certmonger 服务无法自动更新外部 CA 签名的证书。
如需有关 certmonger 如何监控证书过期日期的更多信息,请参阅 系统级身份验证指南中的使用 certmonger 跟踪证书
要验证自动续订是否按预期工作,请检查 /var/log/messages 文件中的 certmonger 日志消息:
  • 续订证书后,certmonger 记录消息类似于以下内容,以指示续订操作已成功或失败:
    Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" renew success
  • 当证书接近其过期时,certmonger 会记录以下信息:
    certmonger: Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" will not be valid after 20160204065136.

26.2.2. 手动续订 CA 证书

您可以使用 ipa-cacert-manage 工具手动续订:
  • 自签名 IdM CA 证书
  • 外部签名的 IdM CA 证书
使用 ipa-cacert-manage renewal 命令更新的证书使用与旧证书相同的密钥对和主题名称。续订证书不会删除之前的版本来启用证书滚动。
详情请查看 ipa-cacert-manage(1) man page。

26.2.2.1. 手动续订自签名 IdM CA 证书

  1. 运行 ipa-cacert-manage renewal 命令。命令不要求您指定证书的路径。
  2. 更新的证书现在存在于 LDAP 证书存储中,并存在于 /etc/pki/pki-tomcat/alias NSS 数据库中。
  3. 在所有服务器和客户端上运行 ipa-certupdate 工具,以使用 LDAP 中的新证书的信息来更新它们。您必须为每个服务器和客户端单独运行 ipa-certupdate
    重要
    手动安装证书后始终运行 ipa-certupdate。如果不这样做,则证书不会分发到其他计算机上。
要确保正确安装了更新的证书,请使用 certutil 实用程序列出数据库中的证书。例如:
# certutil -L -d /etc/pki/pki-tomcat/alias

26.2.2.2. 手动续订外部签名的 IdM CA 证书

  1. 运行 ipa-cacert-manage renewal --external-ca 命令。
  2. 该命令创建 /var/lib/ipa/ca.csr CSR 文件。将 CSR 提交到外部 CA 以获取签发更新 CA 证书。
  3. 再次运行 ipa-cacert-manage renewal,这一次使用 --external-cert-file 选项指定更新的 CA 证书和外部 CA 证书链文件。例如:
    # ipa-cacert-manage renew --external-cert-file=/tmp/servercert20110601.pem --external-cert-file=/tmp/cacert.pem
  4. 更新的 CA 证书和外部 CA 证书链现在存在于 LDAP 证书存储中,以及 /etc/pki/pki-tomcat/alias/ NSS 数据库中。
  5. 在所有服务器和客户端上运行 ipa-certupdate 工具,以使用 LDAP 中的新证书的信息来更新它们。您必须为每个服务器和客户端单独运行 ipa-certupdate
    重要
    手动安装证书后始终运行 ipa-certupdate。如果不这样做,则证书不会分发到其他计算机上。
要确保正确安装了更新的证书,请使用 certutil 实用程序列出数据库中的证书。例如:
# certutil -L -d /etc/pki/pki-tomcat/alias/

26.2.3. IdM 离线时续订过期的系统证书

如果系统证书已过期,IdM 无法启动。IdM 支持使用 ipa-cert-fix 工具更新系统证书。

前提条件

  • 通过在主机上输入 ipactl start --ignore-service-failures 命令来确保 LDAP 服务正在运行。

过程 26.1. 在 IdM 服务器上续订所有过期的系统证书

  1. 在 IdM 域中的 CA 中:
    1. 启动 ipa-cert-fix 工具以分析系统并列出过期的证书:
      # ipa-cert-fix
      ...
      The following certificates will be renewed:
      
      Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  13
        Expires: 2019-05-12 05:55:47
      ...
      Enter "yes" to proceed:
    2. 输入 yes 以开始续订过程:
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  268369925
        Expires: 2021-08-14 02:19:33
      ...
      
      Becoming renewal master.
      The ipa-cert-fix command was successful
      ipa-cert-fix 更新所有过期证书前最多可能需要一分钟的时间。
      注意
      如果您在不是续订 master 的 CA 主机上运行 ipa-cert-fix 工具,并且实用程序续订共享证书,则此主机会自动成为域中的新续订 master。域中必须始终只有一个续订 master,以避免不一致。
    3. (可选)验证所有服务是否都在运行:
      # ipactl status
      Directory Service: RUNNING
      krb5kdc Service: RUNNING
      kadmin Service: RUNNING
      httpd Service: RUNNING
      ipa-custodia Service: RUNNING
      pki-tomcatd Service: RUNNING
      ipa-otpd Service: RUNNING
      ipa: INFO: The ipactl command was successful
  2. 在 IdM 域中的其他服务器上:
    1. 使用 --force 参数重启 IdM:
      # ipactl restart --force
      使用 --force 参数时,ipactl 工具会忽略单独的启动失败。例如,如果服务器也是 CA,pki-tomcat 服务将无法启动。这是预期并忽略的,因为使用了 --force 参数。
    2. 重启后,验证 certmonger 服务是否更新证书:
      # getcert list | egrep '^Request|status:|subject:'
      Request ID '20190522120745':
              status: MONITORING
              subject: CN=IPA RA,O=EXAMPLE.COM 201905222205
      Request ID '20190522120834':
              status: MONITORING
              subject: CN=Certificate Authority,O=EXAMPLE.COM 201905222205
      ...
      请注意,在 certmonger 更新副本上的共享证书前可能需要一些时间。
    3. 如果服务器也是 CA,以上命令会报告 pki-tomcat 服务使用的证书的 CA_UNREACHABLE
      Request ID '20190522120835':
              status: CA_UNREACHABLE
              subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
      ...
      要续订此证书,请使用 ipa-cert-fix 工具:
      # ipa-cert-fix
      Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM
        Serial:  3
        Expires: 2019-05-11 12:07:11
      
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
        Serial:  15
        Expires: 2019-08-14 04:25:05
      
      The ipa-cert-fix command was successful
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.