证书要求取决于是使用 VMware Certificate Authority (VMCA) 作为中间证书颁发机构,还是使用自定义证书。对于计算机证书,要求也有所不同。

在开始更改证书之前,请确保 vSphere 环境中所有节点的时间都已同步。

注: vSphere 仅部署用于服务器身份验证的 RSA 证书,不支持生成 ECDSA 证书。 vSphere 验证其他服务器提供的 ECDSA 证书。例如,如果 vSphere 连接到 syslog 服务器,并且 syslog 服务器具有 ECDSA 证书,则 vSphere 支持验证该证书。

所有导入的 vSphere 证书的要求

  • 密钥大小:2048 位(最小长度)到 8192 位(最大长度)(PEM 编码)。生成证书签名请求时,vSphere Client 和 API 仍接受最大为 16384 位的密钥大小。
    注: 在 vSphere 8.0 中,使用 vSphere Client 或 vSphere Certificate Manager 时,只能生成最小密钥长度为 3072 位的 CSR。 vCenter Server 仍接受密钥长度为 2048 位的自定义证书。在 vSphere 8.0 Update 1 及更高版本中,可以使用 vSphere Client 生成密钥长度为 2048 位的 CSR。
    注: vSphere 的 FIPS 证书仅验证大小为 2048 位和 3072 位的 RSA 密钥。
  • PEM 格式。VMware 支持 PKCS8 和 PKCS1(RSA 密钥)。将密钥添加到 VECS 时,它们将转换为 PKCS8。
  • x509 版本 3
  • SubjectAltName 必须包含 DNS Name=machine_FQDN
  • CRT 格式
  • 包含以下密钥用法:数字签名、密钥加密。
  • 除了 vpxd-extension 解决方案用户证书,扩展密钥用法可以为空或包含服务器身份验证。
vSphere 不支持以下证书。
  • 使用通配符的证书。
  • 不支持算法 md2WithRSAEncryption、md5WithRSAEncryption、RSASSA-PSS、dsaWithSHA1、ecdsa_with_SHA1 和 sha1WithRSAEncryption。
  • vCenter Server 创建自定义计算机 SSL 证书时,不支持服务器身份验证和客户端身份验证。因此,在使用 Microsoft 证书颁发机构 (CA) 模板时,必须移除这些身份验证。有关详细信息,请参见相应的 VMware 知识库文章,网址为 https://kb.vmware.com/s/article/2112009

vSphere 证书符合 RFC 2253 规范

证书必须符合 RFC 2253 规范。

如果不使用 vSphere Certificate Manager 生成 CSR,请确保 CSR 包括以下字段。

String X.500 AttributeType
CN commonName
L localityName
ST stateOrProvinceName
O organizationName
OU organizationalUnitName
C countryName
STREET streetAddress
DC domainComponent
UID userid
如果使用 vSphere Certificate Manager 生成 CSR,系统会提示您输入以下信息,然后 vSphere Certificate Manager 将对应的字段添加到 CSR 文件。
  • [email protected] 用户的密码或者要连接到的 vCenter Single Sign-On 域的管理员的密码。
  • vSphere Certificate Manager 存储在 certool.cfg 文件中的信息。对于大多数字段,可以接受默认值或提供特定于站点的值。计算机的 FQDN 为必需值。
    • [email protected] 的密码
    • 两个字母组成的国家/地区代码
    • 公司名称
    • 组织名称
    • 组织单位
    • 省/市/自治区
    • 地区
    • IP 地址(可选)
    • 电子邮件
    • 主机名,即要替换证书的计算机的完全限定域名。如果主机名与 FQDN 不匹配,则证书替换无法正确完成,且环境可能最终会处于不稳定状态。
    • 在其上运行 vSphere Certificate Manager 的 vCenter Server 节点的 IP 地址。
注: OU (organizationalUnitName) 字段不再为必填字段。

使用 VMCA 作为中间证书颁发结构时的证书要求

当您将 VMCA 用作中间 CA 时,证书必须满足以下要求。

证书类型 证书要求
根证书
  • 可以使用 vSphere Certificate Manager 创建 CSR。请参见使用 Certificate Manager 生成 CSR,并准备根证书(中间 CA)
  • 如果希望手动创建 CSR,则发送以进行签名的证书必须满足以下要求:
    • 密钥大小:2048 位(最小长度)到 8192 位(最大长度)(PEM 编码)
    • PEM 格式。VMware 支持 PKCS8 和 PKCS1(RSA 密钥)。密钥添加到 VECS 后,会转换为 PKCS8。
    • x509 版本 3
    • 对于根证书,CA 扩展必须设置为 true,并且证书签名必须在要求列表中。例如:
      basicConstraints        = critical,CA:true
      keyUsage                = critical,digitalSignature,keyCertSign
    • 必须启用 CRL 签名。
    • 扩展密钥用法可以为空或包含服务器身份验证。
    • 对证书链的长度没有明确限制。VMCA 使用 OpenSSL 默认设置,即 10 个证书。
    • 不支持包含通配符或多个 DNS 名称的证书。
    • 不能创建 VMCA 的附属 CA。

      有关使用 Microsoft 证书颁发机构的示例,请参见 VMware 知识库文章《在 vSphere 6.x 中创建 Microsoft 证书颁发机构模板以创建 SSL 证书》,网址为 https://kb.vmware.com/s/article/2112009

计算机 SSL 证书

可以使用 vSphere Certificate Manager 创建 CSR,或者手动创建 CSR。

如果手动创建 CSR,该 CSR 必须满足前面“所有导入的 vSphere 证书的要求”中列出的要求。您还必须为主机指定 FQDN。

解决方案用户证书

可以使用 vSphere Certificate Manager 创建 CSR,或者手动创建 CSR。

注: 您必须为每个解决方案用户的名称使用不同的值。如果手动生成证书,可能会在 主体下显示为 CN,具体取决于使用的工具。

如果使用 vSphere Certificate Manager,该工具将提示您输入每个解决方案用户的证书信息。vSphere Certificate Manager 将信息存储在 certool.cfg 中。

对于 vpxd-extension 解决方案用户,可以将“扩展密钥用法”留空或使用“TLS WWW 客户端身份验证”。

使用自定义证书时的要求

当您希望使用自定义证书时,这些证书必须满足以下要求。

证书类型 证书要求
计算机 SSL 证书 每个节点上的计算机 SSL 证书必须包含来自第三方或企业 CA 的单独证书。
  • 可以使用 vSphere Client 或 vSphere Certificate Manager 生成 CSR,也可以手动创建 CSR。CSR 必须满足前面“所有导入的 vSphere 证书的要求”中列出的要求。
  • 对于大多数字段,可以接受默认值或提供特定于站点的值。计算机的 FQDN 为必需值。
解决方案用户证书 每个节点上的每个解决方案用户必须具有来自第三方或企业 CA 的单独证书。
  • 您可以使用 vSphere Certificate Manager 生成 CSR,或自己准备 CSR。CSR 必须满足前面“所有导入的 vSphere 证书的要求”中列出的要求。
  • 如果使用 vSphere Certificate Manager,该实用程序将提示您输入每个解决方案用户的证书信息。vSphere Certificate Manager 将信息存储在 certool.cfg 中。

    注: 您必须为每个解决方案用户的名称使用不同的值。手动生成的证书可能会在 主体下显示为 CN,具体取决于使用的工具。

稍后将解决方案用户证书替换为自定义证书时,请提供第三方 CA 的完整签名证书链。

对于 vpxd-extension 解决方案用户,可以将“扩展密钥用法”留空或使用“TLS WWW 客户端身份验证”。