为 VMware Cloud Director 设备创建和导入证书颁发机构 (CA) 签名的证书可为 SSL 通信提供最高级别的信任,并有助于保护云中的连接。
重要说明:
部署后,VMware Cloud Director 设备会生成密钥大小为 2048 位的自签名证书。必须先评估安装的安全要求,然后再选择适当的密钥大小。根据 NIST 特殊出版物 800-131A,不再支持小于 1024 位的密钥大小。
在此过程中使用的私钥密码是 root 用户密码,表示为 root_password 形式。
从 VMware Cloud Director 10.4 开始,控制台代理流量和 HTTPS 通信都使用默认的 443 端口。
注:
VMware Cloud Director 10.4.1 及更高版本不支持控制台代理功能的旧版实现。
过程
- 以 root 身份直接或通过 SSH 客户端登录到 VMware Cloud Director 设备控制台。
- 根据您的环境需求,选择以下选项之一。
部署
VMware Cloud Director 设备时,
VMware Cloud Director 会自动为 HTTPS 服务和控制台代理服务生成密钥大小为 2048 位的自签名证书。
- 如果您希望证书颁发机构对部署时生成的证书进行签名,请跳至步骤 5。
- 如果要使用自定义选项(如更大的密钥大小)生成新证书,请继续执行步骤 3。
- 运行以下命令以备份现有的证书文件。
cp /opt/vmware/vcloud-director/etc/user.http.pem /opt/vmware/vcloud-director/etc/user.http.pem.original
cp /opt/vmware/vcloud-director/etc/user.http.key /opt/vmware/vcloud-director/etc/user.http.key.original
- 运行以下命令,为 HTTPS 服务创建公钥和私钥对。
/opt/vmware/vcloud-director/bin/cell-management-tool generate-certs --cert /opt/vmware/vcloud-director/etc/user.http.pem --key /opt/vmware/vcloud-director/etc/user.http.key --key-password root-password
命令使用默认值创建或覆盖证书文件,然后使用指定的密码创建或覆盖私钥文件。根据环境的 DNS 配置,颁发者公用名称 (CN) 设置为每个服务的 IP 地址或 FQDN。证书使用默认的 2048 位密钥长度,并在创建 1 年后过期。
重要说明: 由于
VMware Cloud Director 设备中的配置限制,必须将位置
/opt/vmware/vcloud-director/etc/user.http.pem 和
/opt/vmware/vcloud-director/etc/user.http.key 用于 HTTPS 证书文件。
注: 您可以使用设备的
root 密码作为密钥密码。
- 在 http.csr 文件中为 HTTPS 服务创建证书签名请求 (CSR)。
openssl req -new -key /opt/vmware/vcloud-director/etc/user.http.key -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:vcd2.example.com,DNS:vcd2,IP:10.100.101.10\n")) -out http.csr
- 将证书签名请求发送给证书颁发机构。
如果您的证书颁发机构要求您指定 Web 服务器类型,则使用 Jakarta Tomcat。
您将获取 CA 签名证书。
- 将 CA 签名证书、CA 根证书和任何中间证书复制到 VMware Cloud Director 设备,然后运行命令以使用 CA 签名的版本覆盖设备上的现有
user.http.pem
证书。
cp ca-signed-http.pem /opt/vmware/vcloud-director/etc/user.http.pem
- 要将根 CA 签名证书和任何中间证书附加到 HTTP 和控制台代理证书,请运行以下命令。
cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer root-CA-certificate.cer >> /opt/vmware/vcloud-director/etc/user.http.pem
- 要将证书导入 VMware Cloud Director 实例,请运行以下命令。
/opt/vmware/vcloud-director/bin/cell-management-tool certificates -j --cert /opt/vmware/vcloud-director/etc/user.http.pem --key /opt/vmware/vcloud-director/etc/user.http.key --key-password root_password
- 要使新签名证书生效,请重新启动 VMware Cloud Director 设备上的
vmware-vcd
服务。
- 运行 命令以停止 服务。
/opt/vmware/vcloud-director/bin/cell-management-tool cell -i $(service vmware-vcd pid cell) -s
- 运行 命令以启动 服务。
systemctl start vmware-vcd