Menu Close

12.3. 替换 web 服务器和 LDAP 服务器证书

作为身份管理(IdM)系统管理员,您可以手动替换运行在 IdM 服务器上的 web(或 httpd)和 LDAP(或 Directory)服务的证书。例如,如果 certmonger 工具没有配置为自动更新证书,或者证书是由外部证书颁发机构(CA)签名的,则这可能是必须的。

这个示例为运行在 server.idm.example.com IdM 服务器上的服务安装证书。您从外部 CA 获取证书。

注意

HTTP 和 LDAP 服务证书在不同的 IdM 服务器上有不同的密钥对和主题名称,因此您必须单独在每台 IdM 服务器上更新证书。

先决条件

  • 您有访问 IdM 服务器的 root 权限。
  • 您知道 目录管理器 密码。
  • 您可以访问存储外部 CA 的 CA 证书链的文件 ca_certificate_chain_file.crt

步骤

  1. ca_certificate_chain_file.crt 中包含的证书作为额外的 CA 证书安装到 IdM:

    # ipa-cacert-manage install
  2. 使用来自 ca_certicate_chain_file.crt 的证书更新本地 IdM 证书数据库:

    # ipa-certupdate
  3. 使用 OpenSSL 工具生成私钥和证书签名请求(CSR):

    $ openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:ipa-ca.idm.example.test" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'

    将 CSR 提交给外部 CA。这个过程根据要用作外部 CA 的服务的不同而有所不同。在 CA 为证书签名后,将证书导入到 IdM 服务器。

  4. 在 IdM 服务器上,将 Apache Web 服务器的旧私钥和证书替换为新密钥和新签名的证书:

    # ipa-server-certinstall -w --pin=password new.key new.crt

    在以上命令中:

    • -w 选项指定您要将证书安装到 Web 服务器中。
    • pin 选项指定保护私钥的密码。
  5. 出现提示时,输入 目录管理器 密码。
  6. 将 LDAP 服务器的旧私钥和证书替换为新密钥和新签名的证书:

    # ipa-server-certinstall -d --pin=password new.key new.cert

    在以上命令中:

    • -d 选项指定您要将证书安装到 LDAP 服务器中。
    • pin 选项指定保护私钥的密码。
  7. 出现提示时,输入 目录管理器 密码。
  8. 重启 httpd 服务:

    # systemctl restart httpd.service
  9. 重启 Directory 服务:

    # systemctl restart dirsrv@IDM.EXAMPLE.COM.service

其他资源