在替换计算机 SSL 证书后,可以将 VMCA 签名解决方案用户证书替换为第三方或企业证书。

许多 VMware 客户未替换解决方案用户证书。他们仅将计算机 SSL 证书替换为自定义证书。这种混合方法符合其安全团队的要求。
  • 证书位于代理后面或是自定义证书。
  • 未使用中间 CA。

解决方案用户仅使用证书对 vCenter Single Sign-On 进行身份验证。如果证书有效,vCenter Single Sign-On 将向解决方案用户分配 SAML 令牌,并且解决方案用户将使用该 SAML 令牌对其他 vCenter 组件进行身份验证。

替换每个管理节点和每个 Platform Services Controller 节点上的计算机解决方案用户证书。只能替换每个管理节点上的其他解决方案用户证书。在具有外部 --server 的管理节点上运行命令时,请使用 Platform Services Controller 参数指向 Platform Services Controller

注: 在大型部署中列出解决方案用户证书时, dir-cli list 的输出包括所有节点的所有解决方案用户。运行 vmafd-cli get-machine-id --server-name localhost 以查找每个主机的本地计算机 ID。每个解决方案用户名称均包括计算机 ID。

前提条件

  • 密钥大小:2048 位或更大(PEM 编码)
  • CRT 格式
  • x509 版本 3
  • SubjectAltName 必须包含 DNS Name=<machine_FQDN>。
  • 每个解决方案用户证书必须具有不同的 Subject。例如,考虑包含解决方案用户名(如 vpxd)或其他唯一标识符。

  • 包含以下密钥用法:数字签名、密钥加密。

过程

  1. 停止所有服务,启动处理证书创建、传播和存储的服务。
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmca
    
  2. 查找每个解决方案用户的名称。
    dir-cli service list 
    
    可以使用替换证书时返回的唯一 ID。输入和输出可能显示如下。
    C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli service list
    Enter password for [email protected]:
    1. machine-1d364500-4b45-11e4-96c2-020011c98db3
    2. vpxd-1d364500-4b45-11e4-96c2-020011c98db3
    3. vpxd-extension-1d364500-4b45-11e4-96c2-020011c98db3
    4. vsphere-webclient-1d364500-4b45-11e4-96c2-020011c98db3
    在多节点部署中列出解决方案用户证书时, dir-cli 列表输出将包含所有节点的所有解决方案用户。运行 vmafd-cli get-machine-id --server-name localhost 以查找每个主机的本地计算机 ID。每个解决方案用户名称均包括计算机 ID。
  3. 对于每个解决方案用户,请依次替换 VECS 和 vmdir 中的现有证书。
    必须以该顺序添加证书。
    vecs-cli entry delete --store vpxd --alias vpxd
    vecs-cli entry create --store vpxd --alias vpxd --cert vpxd.crt --key vpxd.priv
    dir-cli service update --name <vpxd-xxxx-xxx-xxxxxx> --cert vpxd.crt
    
    注: 如果不替换 vmdir 中的证书,则解决方案用户无法对 vCenter Single Sign-On 进行身份验证。
  4. 重新启动所有服务。
    service-control --start --all