收到自定义证书后,可以替换每个计算机证书。

开始之前

必须已从第三方或企业证书颁发机构收到每个计算机的证书。

  • 密钥大小:2048 位或更大(PEM 编码)

  • CRT 格式

  • x509 版本 3

  • SubjectAltName 必须包含 DNS Name=<machine_FQDN>

  • 包含以下密钥使用:数字签名、不可否认性、密钥加密

关于此任务

每台计算机都必须拥有可用于与其他服务进行安全通信的计算机 SSL 证书。在多节点部署中,必须在每个节点上运行计算机 SSL 证书生成命令。使用 --server 参数从具有外部 Platform Services ControllervCenter Server 指向 Platform Services Controller

必须具有以下信息才能开始替换证书:

  • administrator@vsphere.local 的密码。

  • 有效的计算机 SSL 自定义证书(.crt 文件)。

  • 有效的计算机 SSL 自定义密钥(.key 文件)。

  • Root 的有效自定义证书(.crt 文件)。

  • 如果您在多节点部署中具有外部 Platform Services ControllervCenter Server 上运行命令,则需要 Platform Services Controller 的 IP 地址。

过程

  1. 停止所有服务,启动处理证书创建、传播和存储的服务。

    服务名称在 Windows 和 vCenter Server Appliance 上有所不同。

    Windows

    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    

    vCenter Server Appliance

    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  2. 登录到每个节点,然后将您从 CA 接收到的新的计算机证书添加到 VECS。

    所有计算机都需要本地证书存储中的新证书来通过 SSL 进行通信。

    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert <cert-file-path>
    --key <key-file-path>
  3. 重新启动所有服务。
    service-control --start --all
    

将计算机 SSL 证书替换为自定义证书

可以以同样方法替换每个节点上的计算机 SSL 证书。

  1. 首先,删除 VECS 中的现有证书。

    "C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
  2. 接下来,添加替换证书。

    "C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert E:\custom-certs\ms-ca\signed-ssl\custom-w1-vim-cat-dhcp-094.eng.vmware.com.crt --key E:\custom-certs\ms-ca\signed-ssl\custom-x3-vim-cat-dhcp-1128.vmware.com.priv

下一步做什么

您还可以替换 ESXi 主机的证书。请参见《vSphere 安全性》出版物。

在多节点部署中替换 root 证书后,必须在所有具有外部 Platform Services ControllervCenter Server 节点上重新启动服务。