导入 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 签名的证书将不匹配。

3. 替换证书

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

过程:替换现有证书
  1. 在 SUSE Manager Server 上的命令提示符下,调用命令 mgr-ssl-cert-setup 并提供证书作为参数:

    mgrctl exec -- mgr-ssl-cert-setup --root-ca-file=<Path_to_Root_CA_Certificate> --server-cert-file=<Server_Cert_File> --server-key-file=<Server_Key_File>

中间 CA 可以在使用 --root-ca-file 指定的文件中提供,也可以使用 --intermediate-ca-file 作为附加选项来指定。可以多次指定 --intermediate-ca-file 选项。此命令将对提供的文件执行一些测试,以测试它们是否有效并可用于请求的用例。

  1. 重启动服务以应用更改:

    mgrctl exec -- spacewalk-service stop
    mgrctl exec -- systemctl restart postgresql.service
    mgrctl exec -- spacewalk-service start

如果您使用代理,则需要使用代理的主机名和 cname 为每个代理生成一个服务器证书 RPM。还应在 SUSE Manager 代理上使用 mgr-ssl-cert-setup 来替换证书。由于 SUSE Manager 代理没有 postgreSQL 数据库,因此运行 spacewalk-service restart 就已足够。

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

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

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

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

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

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