如果公司策略不允许使用中间 CA,则 VMCA 无法为您生成证书。可以使用企业或第三方 CA 的自定义证书。

开始之前

证书必须满足以下要求:

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

  • PEM 格式。VMware 支持 PKCS8 和 PKCS1(RSA 密钥)。密钥添加到 VECS 后,会转换为 PKCS8

  • x509 版本 3

  • 对于 root 证书,CA 扩展必须设置为 true,并且 cert 签名必须在要求列表中。

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

  • CRT 格式

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

  • 比当前时间早一天的开始时间

  • CN(和 SubjectAltName)设置为 vCenter Server 清单中的 ESXi 主机的主机名(或 IP 地址)。

过程

  1. 向企业或第三方证书提供商发送以下证书的 CSR。
    • 每个计算机具有一个计算机 SSL 证书。对于计算机 SSL 证书,SubjectAltName 字段必须包含完全限定域名 (DNS NAME=machine_FQDN)

    • 此外,每个嵌入式系统或管理节点具有四个解决方案用户证书。解决方案用户证书不应包括 IP 地址、主机名或电子邮件地址。每个证书必须具有不同的证书主题。

    通常,结果为信任链的 PEM 文件以及每个 Platform Services Controller 或管理节点的签名 SSL 证书。

  2. 列出 TRUSTED_ROOTS 存储和计算机 SSL 存储。
    vecs-cli store list 
    
    1. 确保当前根证书和所有计算机 SSL 证书均为 VMCA 签名证书。
    2. 请记下“序列号”、“颁发者”和“主题 CN”字段。
    3. (可选) : 使用 Web 浏览器,打开与将替换证书的节点的 HTTPS 连接,检查证书信息,并确保该信息与计算机 SSL 证书相匹配。
  3. 停止所有服务,启动处理证书创建、传播和存储的服务。

    服务名称在 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
    
  4. 发布自定义根证书,该证书为第三方 CA 的签名证书。
    dir-cli trustedcert publish --cert <my_custom_root>

    如果在命令行上不指定用户名和密码,系统会提示您。

  5. 重新启动所有服务。
    service-control --start --all
    

下一步做什么

如果公司策略需要,可以从证书存储中移除原始的 VMCA 根证书。如果移除了该根证书,必须刷新这些内部证书: