使用 certool CLI 或 vSphere Certificate Manager 实用程序生成新的 VMCA 签名证书,并将证书发布到 vmdir。

在多节点部署中,在 Platform Services Controller 上运行根证书生成命令。

过程

  1. 生成新的自签名证书和专用密钥。
    certool --genselfcacert --outprivkey <key_file_path> --outcert <cert_file_path> --config <config_file>
  2. 将现有根证书替换为新证书。
    certool --rootca --cert <cert_file_path> --privkey <key_file_path>
    该命令会生成证书,将其添加到 vmdir,然后将其添加到 VECS。
  3. 停止所有服务,启动处理证书创建、传播和存储的服务。
    服务名称在 Windows 和 vCenter Server Appliance 上有所不同。
    注: 如果您的环境使用外部 Platform Services Controller,则不必停止和启动 vCenter Server 节点上的 VMware Directory Service (vmdird) 和 VMware Certificate Authority (vmcad)。这些服务在 Platform Services Controller 上运行。
    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
    
  4. (可选) 将新的根证书发布到 vmdir。
    dir-cli trustedcert publish --cert newRoot.crt
    
    该命令会立即更新所有 vmdir 实例。如果不运行该命令,将新证书传播到所有节点可能需要一些时间。
  5. 重新启动所有服务。
    service-control --start --all
    

示例: 生成新的 VMCA 签名根证书

以下示例显示了验证当前根 CA 信息和重新生成根证书的所有步骤。
  1. (可选)列出 VMCA 根证书以确保其位于证书存储中。
    • Platform Services Controller 节点或嵌入式安装中:
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --getrootca
    • 在管理节点(外部安装)中:
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --getrootca --server=<psc-ip-or-fqdn>
    输入类似于以下内容:
    output:
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                cf:2d:ff:49:88:50:e5:af
        ...
    
  2. (可选)列出 VECS TRUSTED_ROOTS 库,并将证书序列号与步骤 1 中输出的序列号进行比较。

    该命令可在 Platform Services Controller 节点和管理节点上运行,因为 VECS 会轮询 vmdir。

    "C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry list --store TRUSTED_ROOTS  --text
    
    在只有一个根证书的最简单情况下,输出类似于以下内容:
    Number of entries in store :    1
    Alias : 960d43f31eb95211ba3a2487ac840645a02894bd
    Entry type :    Trusted Cert
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                cf:2d:ff:49:88:50:e5:af
  3. 生成新的 VMCA 根证书。该命令可将证书添加到 VECS 和 vmdir(VMware Directory Service)中的 TRUSTED_ROOTS 库。
    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --selfca --config="C:\Program Files\VMware\vCenter Server\vmcad\certool.cfg"

    在 Windows 中,可以选择 --config,因为该命令使用默认的 certool.cfg 文件。