第 20 章 如果 web 服务器和 LDAP 服务器证书还没有在 IdM 副本上过期,请替换它们
作为身份管理(IdM)系统管理员,您可以手动替换由运行在 IdM 服务器上的 Web (或 httpd)和 LDAP (或目录 )服务使用的证书。如果证书接近过期,并且 certmonger 工具没有配置为自动续订,或者证书由外部证书颁发机构(CA)签名,这可能是必需的。
这个示例描述了如何为在 server.idm.example.com IdM 服务器中运行的服务安装证书。您从外部 CA 获取证书。
httpd 和 LDAP 服务证书在不同的 IdM 服务器上有不同的密钥对和主题名称,因此您必须单独在每个 IdM 服务器上更新证书。
先决条件
-
在 IdM 服务器具有复制协议的拓扑中的至少一个其他的 IdM 副本上,Web 和 LDAP 证书仍有效。这是
ipa-server-certinstall命令的先决条件,它要求TLS连接与其他 IdM 副本通信。如果证书无效,则无法建立连接,命令会失败。在这种情况下,请参阅 如果已在整个 IdM 部署中过期,替换 web 服务器和 LDAP 服务器证书。 -
您有到 IdM 服务器的
root访问权限。 -
您知道
目录管理器密码。 -
如果新的
httpd/LDAP 证书将由与旧 CA 不同的外部 CA 签名,您可以访问存储外部 CA 证书链的文件。
流程
如果新的
httpd/LDAP 证书将由与旧 CA 不同的 CA 签名,请安装新的外部 CA 证书,以及外部 CA 的整个 CA 证书链作为 IdM 的额外 CA 证书。存储证书的文件在 PEM 和 DER 证书、PKCS""7 证书链、PKCS""8 和原始私钥和 PKCSThycotic 格式中接受。安装 CA 证书:
ipa-cacert-manage install /path/to/ca.crt
# ipa-cacert-manage install /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果新的外部 CA 证书的主题与旧 CA 证书相同,但有所不同,因为它使用不同的密钥,则只能在满足以下条件时使用它:
- 这两个证书具有相同的信任标记。
- CA 共享相同的 nickname。
-
证书中列出的 X509 扩展包括授权密钥
标识符(AKI)扩展。
将其余证书链作为额外的 CA 证书安装到 IdM 中。因为
ipa-cacert-manage install命令只读取文件中的第一个证书,所以您必须一次安装一个证书的完整 CA 链。例如,如果链包含两个证书,请将每个证书保存在单独的文件中,并为每个文件单独运行ipa-cacert-manage install:ipa-cacert-manage install /path/to/intermediate-ca.crt
# ipa-cacert-manage install /path/to/intermediate-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow ipa-cacert-manage install /path/to/root-ca.crt
# ipa-cacert-manage install /path/to/root-ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用证书链中的证书更新本地 IdM 证书数据库:
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
OpenSSL工具生成私钥和证书签名请求(CSR):openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'
$ openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 CSR 提交给外部 CA。这个过程根据要用作外部 CA 的服务的不同而有所不同。在 CA 为证书签名后,将证书导入到 IdM 服务器。
在 IdM 服务器上,将 Apache Web 服务器的旧私钥和证书替换为新密钥和新签名的证书:
ipa-server-certinstall -w --pin=password new.key new.crt
# ipa-server-certinstall -w --pin=password new.key new.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在以上命令中:
-
-w选项指定您要将证书安装到 Web 服务器中。 -
pin选项指定保护私钥的密码。
-
-
出现提示时,输入
目录管理器密码。 将 LDAP 服务器的旧私钥和证书替换为新密钥和新签名的证书:
ipa-server-certinstall -d --pin=password new.key new.cert
# ipa-server-certinstall -d --pin=password new.key new.certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在以上命令中:
-
-d选项指定您要将证书安装到 LDAP 服务器中。 -
pin选项指定保护私钥的密码。
-
-
出现提示时,输入
目录管理器密码。 重启
httpd服务:systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
Directory服务:systemctl restart dirsrv@IDM.EXAMPLE.COM.service
# systemctl restart dirsrv@IDM.EXAMPLE.COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果在服务器上删除或替换了子 CA,请更新客户端:
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow