创建和导入证书颁发机构 (CA) 签名的证书为 SSL 通信提供最高级别的信任,并有助于保护云中的连接。对于版本 10.4,过程包括控制台代理设置。

对于 VMware Cloud Director 10.4.1 或更高版本,如果要创建和导入 CA 签名的 SSL 证书,请参见对于 VMware Cloud Director 设备 10.4.1 及更高版本,创建和导入 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 及更高版本不支持控制台代理功能的旧版实现。

对于 VMware Cloud Director 10.4,可以从管理选项卡下的功能标记设置菜单中启用 LegacyConsoleProxy 功能。启用 LegacyConsoleProxy 功能后,每个 VMware Cloud Director 单元都必须支持两个不同的 SSL 端点,一个用于 HTTPS 通信,一个用于控制台代理通信。

此过程包含控制台代理设置,因为 VMware Cloud Director 10.4 设备必须支持(可选)激活 LegacyConsoleProxy 功能。

前提条件

要验证这是否是满足您环境需求的相关过程,请熟悉创建和管理 VMware Cloud Director 设备的 SSL 证书

过程

  1. root 身份直接或通过 SSH 客户端登录到 VMware Cloud Director 设备控制台。
  2. 根据您的环境需求,选择以下选项之一。
    部署 VMware Cloud Director 设备时, VMware Cloud Director 会自动为 HTTPS 服务和控制台代理服务生成密钥大小为 2048 位的自签名证书。
    • 如果您希望证书颁发机构对部署时生成的证书进行签名,请跳至步骤 5
    • 如果要使用自定义选项(如更大的密钥大小)生成新证书,请继续执行步骤 3
  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
    cp /opt/vmware/vcloud-director/etc/user.consoleproxy.pem /opt/vmware/vcloud-director/etc/user.consoleproxy.pem.original
    cp /opt/vmware/vcloud-director/etc/user.consoleproxy.key /opt/vmware/vcloud-director/etc/user.consoleproxy.key.original
  4. 运行以下命令,为 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
    /opt/vmware/vcloud-director/bin/cell-management-tool generate-certs --cert /opt/vmware/vcloud-director/etc/user.consoleproxy.pem --key /opt/vmware/vcloud-director/etc/user.consoleproxy.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 证书文件并将 /opt/vmware/vcloud-director/etc/user.consoleproxy.pem/opt/vmware/vcloud-director/etc/user.consoleproxy.key 位置用于控制台代理证书文件。
    注: 您可以使用设备的 root 密码作为密钥密码。
  5. 为 HTTPS 服务和控制台代理服务创建证书签名请求 (CSR)。
    重要说明: VMware Cloud Director 设备对 HTTPS 服务和控制台代理服务共享相同的 IP 地址和主机名。因此,CSR 创建命令必须为主体备用名称 (SAN) 扩展参数使用相同的 DNS 和 IP。
    1. http.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
    2. consoleproxy.csr 文件中创建证书签名请求。
      openssl req -new -key /opt/vmware/vcloud-director/etc/user.consoleproxy.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 consoleproxy.csr
  6. 将证书签名请求发送给证书颁发机构。
    如果您的证书颁发机构要求您指定 Web 服务器类型,则使用 Jakarta Tomcat。
    您将获取 CA 签名证书。
  7. 将 CA 签名证书、CA 根证书和任何中间证书复制到 VMware Cloud Director 设备,然后运行命令以覆盖现有证书。
    1. 运行以下命令以使用 CA 签名的版本覆盖设备上的现有 user.http.pem 证书。
      cp ca-signed-http.pem /opt/vmware/vcloud-director/etc/user.http.pem
    2. 运行以下命令以使用 CA 签名的版本覆盖设备上的现有 user.consoleproxy.pem
      cp ca-signed-consoleproxy.pem /opt/vmware/vcloud-director/etc/user.consoleproxy.pem
  8. 要将根 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
    cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer root-CA-certificate.cer >> /opt/vmware/vcloud-director/etc/user.consoleproxy.pem
  9. 要将证书导入 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
    /opt/vmware/vcloud-director/bin/cell-management-tool certificates -p --cert /opt/vmware/vcloud-director/etc/user.consoleproxy.pem --key /opt/vmware/vcloud-director/etc/user.consoleproxy.key --key-password root_password
  10. 要使新签名证书生效,请重新启动 VMware Cloud Director 设备上的 vmware-vcd 服务。
    1. 运行 命令以停止 服务。
      /opt/vmware/vcloud-director/bin/cell-management-tool cell -i $(service vmware-vcd pid cell) -s
    2. 运行 命令以启动 服务。
      systemctl start vmware-vcd

下一步做什么