自我签名 SSL 证书

默认情况下,SUSE Multi-Linux Manager 使用自签名证书。 在这种情况下,证书是由 SUSE Multi-Linux Manager 创建和签名的。 此方法不使用独立的证书颁发机构来保证证书的详细信息是正确的。 第三方 CA 会进行检查,以确保证书中包含的信息是正确的。

本节介绍如何在新安装或现有安装中创建或重新创建自我签名证书。

SSL 密钥和证书的主机名必须与其部署到的计算机的完全限定主机名相匹配。

1. 重新创建现有的服务器证书

如果您的现有证书已失效或出于任何原因而不再正常工作,您可以从现有 CA 生成新的服务器证书。

过程:升级重新创建现有服务器证书
  1. 在 SUSE Multi-Linux Manager 容器主机的命令提示符处,重新生成服务器证书:

    mgrctl exec -ti -- 'rhn-ssl-tool --gen-server --dir="/root/ssl-build" --set-country="COUNTRY" \
    --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
    --set-org-unit="ORGANIZATION UNIT" --set-email="name@example.com" \
    --set-hostname="susemanager.example.com" --set-cname="example.com"'

    确保`set-cname`参数是您的SUSE Multi-Linux Manager服务器的完全限定的域名。 如果需要多个别名,您可以多次使用`set-cname`参数。

私钥和服务器证书位于服务器容器内的`/root/ssl-build/susemanager/目录中,分别为`server.key`和`server.crt。 最后一个目录的名称取决于与 --set-hostname 选项一起使用的主机名。

通过更新容器的主机 podman 密钥来部署或导入新证书和密钥。 有关导入刚生成的证书的更多信息,请参见 administration:ssl-certs-imported.adoc#ssl-certs-import-replace

2. 创建新的 CA 证书和服务器证书

在需要替换根 CA 时要小心。 可能会破坏服务器与客户端之间的信任链。 如果发生这种情况,您需要一个管理员用户登录到每个客户端并直接部署 CA。

过程:升级创建新证书
  1. 在 SUSE Multi-Linux Manager 容器主机的命令提示符处,将旧证书目录移到新位置:

    mgrctl exec -- mv /root/ssl-build /root/old-ssl-build
  2. 生成新的 CA 证书:

    mgrctl exec -ti -- 'rhn-ssl-tool --gen-ca --dir="/root/ssl-build" --set-country="COUNTRY" \
    --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
    --set-org-unit="ORGANIZATION UNIT" --set-common-name="SUSE Manager CA Certificate" \
    --set-email="name@example.com"'
  3. 生成新的服务器证书:

    mgrctl exec -ti -- 'rhn-ssl-tool --gen-server --dir="/root/ssl-build" --set-country="COUNTRY" \
    --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
    --set-org-unit="ORGANIZATION UNIT" --set-email="name@example.com" \
    --set-hostname="susemanager.example.top" --set-cname="example.com"'

    确保`set-cname`参数是您的SUSE Multi-Linux Manager服务器的完全限定的域名。 如果需要多个别名,您可以多次使用`set-cname`参数。

    还需要使用代理的主机名和 cname 为每个代理生成服务器证书。