在替换计算机 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 administrator@vsphere.local:
    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