自我签名 SSL 证书

SUSE Manager 默认使用自我签名证书。在这种情况下,证书由 SUSE Manager 创建和签名。此方法不使用独立证书颁发机构来保证证书的细节正确。第三方 CA 将执行检查,以确保证书中包含的信息正确。有关第三方 CA 的详细信息,请参见 导入 SSL 证书

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

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

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

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

过程:重新创建现有服务器证书
  1. 在 SUSE Manager Server 上的命令提示符下,重新生成服务器证书:

    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 Manager Server 的完全限定域名。如果需要多个别名,可以多次使用 set-cname 参数。

私用密钥和服务器证书可以在目录 /root/ssl-build/susemanager/ 中找到,其文件名为 server.keyserver.crt。最后一个目录的名称取决于与 --set-hostname 选项结合使用的主机名。

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

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

过程:创建新证书
  1. 在 SUSE Manager Server 上的命令提示符下,将旧证书目录移到新位置:

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

    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. 生成新的服务器证书:

    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 Manager Server 的完全限定域名。如果需要多个别名,可以多次使用 set-cname 参数。

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