可以使用单元管理工具的 generate-certs 命令为 HTTP 和控制台代理端点生成自签名 SSL 证书。

每个 vCloud Director 服务器组必须支持两个 SSL 端点:一个用于 HTTP 服务,另一个用于控制台代理服务。HTTP 服务端点支持 vCloud Director Web 控制台和 vCoud API。远程控制台代理端点支持 VMRC 连接到 vApp 和虚拟机。

单元管理工具的 generate-certs 命令可自动执行vCloud Director 安装、配置和升级指南》中所示的“创建自签名 SSL 证书”过程。

若要生成新的自签名 SSL 证书并将它们添加到新的或现有密钥库中,请使用以下形式的命令行:
cell-management-toolgenerate-certsoptions
表 1. 单元管理工具选项和参数,generate-certs 子命令
选项 参数 描述
--help (-h) 提供此类别中可用命令的摘要。
--expiration (-x) days-until-expiration 证书过期前的天数。默认值为 365
--issuer (-i) name=value [, name=value, ...] 证书颁发者的 X.509 标识名。默认值为 CN=FQDN。其中 FQDN 是该单元或其 IP 地址的完全限定域名(如果没有可用的完全限定域名)。如果指定多个属性/值对,请用逗号分隔它们,并将整个参数置于引号内。
--httpcert (-j) 生成 http 端点的证书。
--key-size (-s) key-size 表示为整数位数的键对大小。默认值为 2048。请注意,根据 NIST 特殊出版物 800-131A,不再支持小于 1024 位的密钥大小。
--keystore-pwd (-w) keystore-password 此主机上密钥库的密码。
--out (-o) keystore-pathname 此主机上密钥库的完整路径名。
--consoleproxycert (-p) 生成控制台代理端点的证书。
注: 为保持与此子命令早期版本的兼容性,同时省略 -j-p 的效果与同时提供 -j-p 相同。

创建自签名证书

这两个示例均假设密钥库的路径为 /tmp/cell.ks 且密码为 kspw。如果此密钥库尚不存在,则会创建此密钥库。

此示例使用默认值创建新证书。颁发者名称设置为 CN=Unknown。证书使用默认的 2048 位密钥长度,并在创建 1 年后过期。
[root@cell1 /opt/vmware/vcloud-director/bin]# ./cell-management-tool generate-certs -j -p -o /tmp/cell.ks -w kspw
New keystore created and written to /tmp/cell.ks.
此示例仅创建 http 端点的新证书。同时为密钥大小和颁发者名称指定自定义值。颁发者名称设置为 CN=Test, L=London, C=GB。http 连接的新证书具有一个 4096 位密钥,并在创建 90 天后过期。控制台代理端点的现有证书不受影响。
[root@cell1 /opt/vmware/vcloud-director/bin]# ./cell-management-tool generate-certs -j -o /tmp/cell.ks -w kspw -i "CN=Test, L=London, C=GB" -s 4096 -x 90
New keystore created and written to /tmp/cell.ks.
重要事项: 密钥库文件及其存储目录必须可由用户 vcloud.vcloud 读取。 vCloud Director 安装程序将创建此用户和组。