创建和导入 CA 签名的证书为 SSL 通信提供了最高级别的信任,并有助于保护云计算基础架构中的连接。

每个 VMware Cloud Director 服务器都必须支持两个不同的 SSL 端点,一个用于 HTTPS 通信,一个用于控制台代理通信。

重要说明: 如果对 HTTPS 服务和控制台代理服务使用单独的 IP 地址,则必须对 HTTPS 服务的 IP 地址和控制台代理服务的 IP 地址分别完成一次此过程。

这两个端点可以采用单独的 IP 地址,也可以采用具有两个不同端口的单个 IP 地址。您可以对这两个端点使用相同的证书,例如,使用通配符证书。

两个端点的证书都必须包含 X.500 标识名和 X.509 主体备用名称扩展。

可以使用由可信证书颁发机构 (CA) 签名的证书,也可以使用自签名证书。

使用 cell-management-tool 创建自签名 SSL 证书。在运行配置代理之前和运行安装文件之后,在单元上安装 cell-management-tool 实用程序。请参见在服务器组的第一个成员上安装 VMware Cloud Director

重要说明: 这些示例指定 2048 位密钥大小,但应先评估安装的安全要求,然后再选择适当的密钥大小。根据 NIST 特殊出版物 800-131A,不再支持小于 1024 位的密钥大小。

前提条件

过程

  1. root 身份直接或通过 SSH 客户端登录到 VMware Cloud Director 服务器单元的操作系统。
  2. 根据您的环境需求,选择以下选项之一。
    • 如果您有自己的私钥和 CA 签名证书文件,请跳至步骤 6。
    • 如果要使用自定义选项(如更大的密钥大小)生成新证书,请继续执行步骤 3。
  3. 运行以下命令,为 HTTPS 服务和控制台代理服务创建公钥和私钥密钥对。
    /opt/vmware/vcloud-director/bin/cell-management-tool generate-certs --cert cert.pem --key cert.key --key-password key_password

    命令使用指定的密码创建或覆盖位于 cert.pem 的证书文件和位于 cert.key 的私钥文件。将使用命令的默认值创建证书。根据环境的 DNS 配置,颁发者 CN 设置为每个服务的 IP 地址或 FQDN。证书使用默认的 2048 位密钥长度,并在创建 1 年后过期。

    重要说明: 证书文件和私钥文件及其存储目录必须可由用户 vcloud.vcloud 读取。 VMware Cloud Director 及其存储目录必须可由用户 vcloud.vcloud 读取。 VMware Cloud Director 安装程序将创建此用户和组。
  4. cert.csr 文件中创建证书签名请求。
    openssl req -new -key cert.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 cert.csr
  5. 将证书签名请求发送给证书颁发机构。
    如果您的证书颁发机构要求您指定 Web 服务器类型,则使用 Jakarta Tomcat。
    您将获取 CA 签名证书。
  6. 运行命令,将根 CA 签名证书和任何中间证书附加到在步骤 2 中生成的证书。
    cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer root-CA-certificate.cer >> cert.pem
  7. 对服务器组中的所有 VMware Cloud Director 服务器重复此过程。

下一步做什么

  • 如果尚未配置 VMware Cloud Director 实例,请运行 configure 脚本,将证书导入 VMware Cloud Director。请参见配置网络和数据库连接
    注: 如果创建 cert.pemcert.key 证书文件时使用的计算机不是生成完全限定域名及其关联 IP 地址列表的服务器,请立即将 cert.pemcert.key 文件复制到该服务器。运行配置脚本时,您需要证书和专用密钥路径名称。
  • 如果已安装并配置 VMware Cloud Director 实例,请使用单元管理工具的 certificates 命令导入证书。请参见替换 HTTPS 和控制台代理端点的证书