可以使用企业或第三方 CA 的自定义证书。第一步是向 CA 请求证书并将根证书导入 VECS。
前提条件
证书必须满足以下要求:
- 密钥大小:2048 位或更大(PEM 编码)
- PEM 格式。VMware 支持 PKCS8 和 PKCS1(RSA 密钥)。密钥添加到 VECS 后,会转换为 PKCS8。
- x509 版本 3
- 对于根证书,CA 扩展必须设置为 true,并且 cert 签名必须在要求列表中。
- SubjectAltName 必须包含 DNS Name=<machine_FQDN>。
- CRT 格式
- 包含以下密钥用法:数字签名、密钥加密。
- 比当前时间早一天的开始时间。
- CN(和 SubjectAltName)设置为 vCenter Server 清单中的 ESXi 主机的主机名(或 IP 地址)。
过程
- 向企业或第三方证书提供商发送以下证书的 CSR。
- 每个计算机具有一个计算机 SSL 证书。对于计算机 SSL 证书,SubjectAltName 字段必须包含完全限定域名 (DNS NAME=machine_FQDN)
- (可选)每个嵌入式系统或管理节点具有四个解决方案用户证书。解决方案用户证书不应包括 IP 地址、主机名或电子邮件地址。每个证书必须具有不同的证书主体。
- (可选)用于外部 Platform Services Controller 实例的计算机解决方案用户证书。该证书不同于 Platform Services Controller 的计算机 SSL 证书。
通常,结果为信任链的 PEM 文件以及每个 Platform Services Controller 或管理节点的签名 SSL 证书。
- 列出 TRUSTED_ROOTS 存储和计算机 SSL 存储。
- 确保当前根证书和所有计算机 SSL 证书均为 VMCA 签名证书。
- 请记下“序列号”、“颁发者”和“主体 CN”字段。
- (可选) 使用 Web 浏览器,打开与将替换证书的节点的 HTTPS 连接,检查证书信息,并确保该信息与计算机 SSL 证书相匹配。
- 停止所有服务,启动处理证书创建、传播和存储的服务。
服务名称在 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
- 发布自定义 root 证书。
dir-cli trustedcert publish --cert <my_custom_root>
如果在命令行上不指定用户名和密码,系统会提示您。
- 重新启动所有服务。
service-control --start --all
下一步做什么
如果公司策略需要,可以从证书存储中移除原始的 VMCA 根证书。如果执行此操作,则必须刷新 vCenter Single Sign-On 证书。请参见刷新 Security Token Service 证书。