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