导入 SSL 证书

本节介绍如何为新的 SUSE Manager 安装配置 SSL 证书,以及如何替换现有证书。

在开始之前,请确保已准备好:

  • 一个证书颁发机构 (CA) SSL 公共证书。如果您使用 CA 链,则所有中间 CA 也必须可用。

  • 一个 SSL 服务器私用密钥

  • 一个 SSL 服务器证书

所有文件必须采用 PEM 格式。

SSL 服务器证书的主机名必须与其部署到的计算机的完全限定主机名匹配。您可以在证书的 X509v3 Subject Alternative Name 部分中设置主机名,也可以根据环境的需要列出多个主机名。支持的密钥类型为 RSAEC(椭圆曲线)。

第三方颁发机构通常使用中间 CA 来为请求的服务器证书签名。在这种情况下,链中的所有 CA 都必须可用。如果没有额外的参数或选项可用于指定中间 CA,请注意所有 CA(根 CA 和中间 CA)都将存储在一个文件中。

1. 为新安装导入证书

SUSE Manager 默认使用自我签名证书。完成初始设置后,可将默认证书替换为导入的证书。

过程:在新的 SUSE Manager Server 上导入证书
  1. 根据 SUSE Manager 5.0 服务器部署 中的说明部署 SUSE Manager 服务器。确保传递正确的文件作为 mgradm install podman 的参数。参数为:

    第三方 SSL 证书标志:
          --ssl-ca-intermediate 字符串   中间 CA 证书路径
          --ssl-ca-root 字符串            根 CA 证书路径
          --ssl-server-cert 字符串        服务器证书路径
          --ssl-server-key 字符串         服务器密钥路径

2. 为新的 Proxy 安装导入证书

SUSE Manager Proxy 默认使用自我签名证书。完成初始设置后,您可以将默认证书替换为导入的证书。

过程:在新的 SUSE Manager Proxy 上导入证书
  1. 根据 SUSE Manager 5.0 代理部署 中的说明安装 SUSE Manager 代理。

  2. 按照提示完成设置。

请使用同一证书颁发机构 (CA) 为服务器和代理的所有服务器证书签名。使用不同 CA 签名的证书将不匹配。

3. 替换证书

您可以将 SUSE Manager 安装中的活动证书替换为新证书。要替换证书,可以将已安装的 CA 证书替换为新 CA,然后更新数据库。

过程:替换现有证书
  1. 在 SUSE Manager 容器主机上的命令提示符处,将证书文件临时复制到容器:

    for f in <Root_CA_Certificate> <Server_Cert_File> <Server_Key_File>; do
      mgrctl cp $f server:/tmp
    done
  2. 在 SUSE Manager 容器主机上,调用以下命令以在容器内运行 mgr-ssl-cert-setup,并提供证书作为参数:

    mgrctl exec -ti -- mgr-ssl-cert-setup --root-ca-file=/tmp/<Root_CA_Certificate> \
      --server-cert-file=/tmp/<Server_Cert_File> --server-key-file=/tmp/<Server_Key_File>
  3. 从容器中去除临时复制的文件:

    mgrctl exec -ti -- rm /tmp/<Root_CA_Certificate> /tmp/<Server_Cert_File> \
      /tmp/<Server_Key_File>

中间 CA 可以在使用 --root-ca-file 指定的文件中提供,也可以使用 --intermediate-ca-file 作为附加选项来指定。可以多次指定 --intermediate-ca-file 选项。mgr-ssl-cert-setup 命令会对提供的文件执行一些测试,以测试它们是否有效并可用于请求的用例。如果是,该命令会将这些文件复制或部署到需要它们的所有位置。

过程:重命名服务器
  1. 在容器主机上,重启动服务以应用更改:

    mgradm restart

如果您使用的是代理,则需要使用相关代理的主机名和 cname 为每个代理生成一个服务器证书 RPM。生成新的配置 tarball 并进行部署。

如果根 CA 已更改,则需要将其部署到与 SUSE Manager 连接的所有客户端。

过程:在客户端上部署根 CA
  1. 在 SUSE Manager Web UI 中,导航到系统  概览

  2. 选中所有客户端以将其添加到系统集管理器。

  3. 导航到系统  系统集管理器  概览

  4. 状态字段中,单击 应用 以应用系统状态。

  5. Highstate 页面中,单击 应用 Highstate 以将更改传播到客户端。