26.2. 续订证书
有关以下方面的详情:
- 自动证书续订,请参见 第 26.2.1 节 “自动续订证书”
- 手动证书续订,请参阅 第 26.2.2 节 “手动续订 CA 证书”
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 证书
- 运行 ipa-cacert-manage renewal 命令。命令不要求您指定证书的路径。
- 更新的证书现在存在于 LDAP 证书存储中,并存在于
/etc/pki/pki-tomcat/alias
NSS 数据库中。 - 在所有服务器和客户端上运行
ipa-certupdate
工具,以使用 LDAP 中的新证书的信息来更新它们。您必须为每个服务器和客户端单独运行ipa-certupdate
。重要手动安装证书后始终运行ipa-certupdate
。如果不这样做,则证书不会分发到其他计算机上。
要确保正确安装了更新的证书,请使用
certutil
实用程序列出数据库中的证书。例如:
# certutil -L -d /etc/pki/pki-tomcat/alias
26.2.2.2. 手动续订外部签名的 IdM CA 证书
- 运行 ipa-cacert-manage renewal --external-ca 命令。
- 该命令创建
/var/lib/ipa/ca.csr
CSR 文件。将 CSR 提交到外部 CA 以获取签发更新 CA 证书。 - 再次运行 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
- 更新的 CA 证书和外部 CA 证书链现在存在于 LDAP 证书存储中,以及
/etc/pki/pki-tomcat/alias/
NSS 数据库中。 - 在所有服务器和客户端上运行
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 服务器上续订所有过期的系统证书
- 在 IdM 域中的 CA 中:
- 启动 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:
- 输入 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,以避免不一致。 - (可选)验证所有服务是否都在运行:
# 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
- 在 IdM 域中的其他服务器上:
- 使用
--force
参数重启 IdM:# ipactl restart --force
使用--force
参数时,ipactl 工具会忽略单独的启动失败。例如,如果服务器也是 CA,
pki-tomcat
服务将无法启动。这是预期并忽略的,因为使用了--force
参数。 - 重启后,验证
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
更新副本上的共享证书前可能需要一些时间。 - 如果服务器也是 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