Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

附录 D. Red Hat Virtualization 和 SSL

D.1. 替换 Red Hat Virtualization Manager SSL/TLS 证书

警告
不要更改 /etc/pki 目录或任何子目录的权限和所有权。/etc/pki/etc/pki/ovirt-engine 目录的权限必须保留为默认的 755。
如果要使用您的机构的第三方 CA 证书通过 HTTPS 连接的用户,请使用以下步骤。
注意
将第三方 CA 证书用于 HTTPS 连接不会影响在 Manager 和主机之间进行身份验证的证书。它们将继续使用 Manager 生成的自签名证书。

前提条件

  • 第三方 CA 证书。这是签发您要使用的证书的 CA (Certificate Authority)的证书。它以 PEM 文件形式提供。证书链必须完成到 root 证书。链的顺序至关重要,且必须从最后一个中间证书到 root 证书。此流程假设第三方 CA 证书在 /tmp/3rd-party-ca-cert.pem 中提供。
  • 要用于 Apache httpd 的私钥。它不能有密码。此流程假定它位于 /tmp/apache.key 中。
  • CA 发布的证书。此流程假定它位于 /tmp/apache.cer 中。
如果您在 P12 文件中从 CA 收到私钥和证书,请使用以下步骤提取它们。对于其他文件格式,请联系您的 CA。提取私钥和证书后,继续 替换 Red Hat Virtualization Manager Apache SSL 证书

过程 D.1. 从 P12 捆绑包中提取证书和密钥

内部 CA 将内部生成的密钥和证书存储在 P12 文件中,该文件存储在 /etc/pki/ovirt-engine/keys/apache.p12 中。红帽建议将新文件存储在同一位置。以下步骤假定新的 P12 文件位于 /tmp/apache.p12 中。
  1. 备份当前的 apache.p12 文件:
    # cp -p /etc/pki/ovirt-engine/keys/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12.bck
  2. 使用新文件替换当前文件:
    # cp /tmp/apache.p12 /etc/pki/ovirt-engine/keys/apache.p12
  3. 将私钥和证书提取到所需的位置。如果文件受密码保护,您必须添加 -passin pass:password,将 password 替换为所需的密码。
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nocerts -nodes > /tmp/apache.key
    # openssl pkcs12 -in /etc/pki/ovirt-engine/keys/apache.p12 -nokeys > /tmp/apache.cer
    
重要
对于新的 Red Hat Virtualization 安装,您必须完成此流程中的所有步骤。如果您从已经配置了商业签名证书的 Red Hat Enterprise Virtualization 3.6 环境升级,则只需要步骤 1、8 和 9。

过程 D.2. 替换 Red Hat Virtualization Manager Apache SSL 证书

  1. 将您的 CA 证书添加到主机范围的信任存储中:
    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ca-trust/source/anchors
    # update-ca-trust
  2. 管理器已配置为使用 /etc/pki/ovirt-engine/apache-ca.pem,它是符号链接到 /etc/pki/ovirt-engine/ca.pem。删除符号链接:
    # rm /etc/pki/ovirt-engine/apache-ca.pem
  3. 将您的 CA 证书保存为 /etc/pki/ovirt-engine/apache-ca.pem
    # cp /tmp/3rd-party-ca-cert.pem /etc/pki/ovirt-engine/apache-ca.pem
  4. 备份现有的私钥和证书:
    # cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.bck
    # cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.bck
  5. 将私钥复制到所需位置:
    # cp /tmp/apache.key /etc/pki/ovirt-engine/keys/apache.key.nopass
  6. 将证书复制到所需位置:
    # cp /tmp/apache.cer /etc/pki/ovirt-engine/certs/apache.cer
  7. 重启 Apache 服务器:
    # systemctl restart httpd.service
  8. 创建新的信任存储配置文件:
    # vi /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf
    添加以下内容并保存文件:
    ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
    ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""
  9. 重启 ovirt-engine 服务:
    # systemctl restart ovirt-engine.service
  10. 替换证书可能会导致日志收集器失败。要防止这种情况,请创建一个新的日志收集器配置文件:
    # vi /etc/ovirt-engine/logcollector.conf.d/99-custom-ca-cert.conf
    添加以下内容并保存文件:
    [LogCollector]
    cert-file=/etc/pki/ovirt-engine/apache-ca.pem
您的用户现在可以连接到管理和门户网站,而不会警告用于加密 HTTPS 流量的证书的真实性。