可以使用 vSphere Certificate Manager 实用程序将 VMCA 设置为中间 CA。 完成此过程后,VMCA 会对整个链中的所有证书进行签名。如果需要,可以使用 vSphere Certificate Manager 将所有现有证书替换为新的 VMCA 签名证书。

VMware 不建议将 VMCA 作为辅助(或中间)证书颁发机构。如果选择此选项,您可能会面临极度复杂的情况并且可能对安全产生负面影响,以及增加不必要的操作风险。有关管理 vSphere 环境内的证书的详细信息,请参见标题为“New Product Walkthrough - Hybrid vSphere SSL Certificate Replacement”的博客帖子,网址为 http://vmware.com/go/hybridvmca

要使 VMCA 成为中间 CA,必须多次运行 vSphere Certificate Manager。 替换计算机 SSL 证书和解决方案用户证书的简要步骤包括:

  1. 启动 vSphere Certificate Manager 实用程序。
  2. 选择选项 2“将 VMCA 根证书替换为自定义签名证书并替换所有证书”以生成 CSR。接下来,您可能必须提供有关证书的一些信息。再次提示选择选项时,选择选项 1“为 VMCA 根签名证书生成证书签名请求和密钥”。
  3. 将 CSR 提交给外部 CA 或企业 CA。您将从 CA 收到签名证书和根证书。
  4. 将 VMCA 根证书与 CA 根证书组合并保存文件。
  5. 选择选项 2“将 VMCA 根证书替换为自定义签名证书并替换所有证书”,然后按照提示替换证书。此过程会替换本地计算机上的所有证书。
  6. (可选)在增强型链接模式配置中连接多个 vCenter Server 实例时,按照以下步骤替换每个节点上的证书:
    1. 首先将计算机 SSL 证书替换为新的 VMCA 证书(选项 3“将计算机 SSL 证书替换为 VMCA 证书”)。
    2. 然后将解决方案用户证书替换为新的 VMCA 证书(选项 6“将解决方案用户证书替换为 VMCA 证书”)。

使用 Certificate Manager 生成 CSR,并准备根证书(中间 CA)

您可以使用 vSphere Certificate Manager 实用程序生成证书签名请求 (CSR)。将这些 CSR 提交到企业 CA 或外部证书颁发机构进行签名。您可以通过受支持的不同证书替换流程使用签名证书。

  • 可以使用 vSphere Certificate Manager 创建 CSR。
    注: 在 vSphere 8.0 及更高版本中,如果使用 vSphere Certificate Manager 生成 CSR,则最小密钥大小将从 2048 位更改为 3072 位。在 vSphere 8.0 Update 1 中,使用 vSphere Client 生成密钥大小为 2048 位的 CSR。
    注: vSphere 的 FIPS 证书仅验证大小为 2048 位和 3072 位的 RSA 密钥。
  • 如果希望手动创建 CSR,则发送以进行签名的证书必须满足以下要求:
    • 密钥大小:2048 位(最小值)到 16384 位(最大值)(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 证书》,网址为 http://kb.vmware.com/kb/2112009

前提条件

vSphere Certificate Manager 会提示您输入信息。提示信息取决于您的环境以及要替换的证书类型。

生成任何 CSR 时,系统会提示您输入 administrator@vsphere.local 用户的密码,或当前所连接的 vCenter Single Sign-On 域的管理员的密码。

过程

  1. 登录到 vCenter Server Shell,然后启动 vSphere Certificate Manager。
    /usr/lib/vmware-vmca/bin/certificate-manager
  2. 选择选项 2“将 VMCA 根证书替换为自定义签名证书并替换所有证书”。
    首先,使用此选项生成 CSR,而不是替换证书。
  3. 输入管理员用户和密码。
  4. 选择选项 1“为 VMCA 根签名证书生成证书签名请求和密钥”,以生成 CSR 并响应提示。
    在此流程中,您还必须提供一个目录。vSphere Certificate Manager 会将要签名的证书( *.csr 文件)和相应密钥文件( *.key 文件)放入该目录中。
  5. 命名证书签名请求 (CSR) root_signing_cert.csr
  6. 将 CSR 发送到您的企业或外部 CA 进行签名,并命名生成的签名证书 root_signing_cert.cer
  7. 在文本编辑器中,按如下方式合并证书。
    -----BEGIN CERTIFICATE-----
    Signed VMCA root certificate
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    CA intermediate certificates
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Root certificate of enterprise or external CA
    -----END CERTIFICATE-----
  8. 将文件保存为 root_signing_chain.cer

下一步做什么

将现有根证书替换为链式根证书。请参见使用 Certificate Manager 将 VMCA 根证书替换为自定义签名证书并替换所有证书

使用 Certificate Manager 将 VMCA 根证书替换为自定义签名证书并替换所有证书

可以使用 vSphere Certificate Manager 实用程序生成 CSR 并将其发送到企业或第三方 CA 进行签名。 然后,可以将 VMCA 根证书替换为自定义签名证书,并将所有现有证书替换为自定义 CA 签名的证书。

vCenter Server 上运行 vSphere Certificate Manager 以将 VMCA 根证书替换为自定义签名证书。

前提条件

  • 生成证书链。
  • 收集所需的信息。
    • administrator@vsphere.local 的密码
    • 有效的自定义根证书(.crt 文件)
    • 根的有效自定义密钥(.key 文件)

过程

  1. 登录到 vCenter Server Shell,然后启动 vSphere Certificate Manager。
    /usr/lib/vmware-vmca/bin/certificate-manager
  2. 选择选项 2“将 VMCA 根证书替换为自定义签名证书并替换所有证书”。
  3. 输入管理员用户和密码。
  4. 选择选项 2,导入自定义证书和密钥,替换现有 VMCA 根签名证书,然后对提示做出响应。
    1. 出现提示后指定根证书的完整路径。
    2. 如果是首次替换证书,则系统将提示您输入用于计算机 SSL 证书的信息。
      此信息包括计算机所需的 FQDN 并存储在 certool.cfg 文件中。

使用 Certificate Manager 将计算机 SSL 证书替换为 VMCA 证书(中间 CA)

将 VMCA 用作中间 CA 时,可以使用 vSphere Certificate Manager 实用程序明确替换计算机 SSL 证书。首先替换 vCenter Server 上的 VMCA 根证书,然后可以替换将由 VMCA 的新根签名的计算机 SSL 证书。您也可以使用此选项替换已损坏或即将过期的计算机 SSL 证书。

将现有计算机 SSL 证书替换为新的 VMCA 签名证书时,vSphere Certificate Manager 会提示您输入信息,并将除 vCenter Server 密码和 IP 地址以外的所有值输入到 certool.cfg 文件。

  • administrator@vsphere.local 的密码
  • 两个字母组成的国家/地区代码
  • 公司名称
  • 组织名称
  • 组织单位
  • 省/市/自治区
  • 地区
  • IP 地址(可选)
  • 电子邮件
  • 主机名,即要替换证书的计算机的完全限定域名。如果主机名与 FQDN 不匹配,则证书替换无法正确完成,且环境可能最终会处于不稳定状态。
  • vCenter Server 的 IP 地址
  • VMCA 名称,即,运行证书配置的计算机的完全限定域名。
注: OU (organizationalUnitName) 字段不再为必填字段。

前提条件

  • 您必须了解以下信息才能使用此选项运行 vSphere Certificate Manager。
    • administrator@vsphere.local 的密码。
    • 要为其生成新的 VMCA 签名证书的计算机的 FQDN。所有其他属性默认设置为预定义的值,但可以更改。
    • vCenter Server 系统的主机名或 IP 地址。

过程

  1. 登录到 vCenter Server Shell,然后启动 vSphere Certificate Manager。
    /usr/lib/vmware-vmca/bin/certificate-manager
  2. 选择选项 3“将计算机 SSL 证书替换为 VMCA 证书”。
  3. 输入管理员用户和密码。
  4. 对提示做出响应。
    vSphere Certificate Manager 将信息存储在 certool.cfg 文件中。

结果

vSphere Certificate Manager 替换计算机 SSL 证书。

使用 Certificate Manager 将解决方案用户证书替换为 VMCA 证书(中间 CA)

将 VMCA 用作中间 CA 时,可以使用 vSphere Certificate Manager 实用程序明确替换解决方案用户证书。首先替换 vCenter Server 上的 VMCA 根证书,然后可以替换将由 VMCA 的新根签名的解决方案用户证书。您也可以使用此选项替换已损坏或即将过期的解决方案证书。

前提条件

  • 如果在增强型链接模式配置中包含多个 vCenter Server 实例的部署中替换了 VMCA 根证书,请明确重新启动所有 vCenter Server 节点。
  • 您必须了解以下信息才能使用此选项运行 vSphere Certificate Manager。
    • administrator@vsphere.local 的密码
    • vCenter Server 系统的主机名或 IP 地址

过程

  1. 登录到 vCenter Server Shell,然后启动 vSphere Certificate Manager。
    /usr/lib/vmware-vmca/bin/certificate-manager
  2. 选择选项 6“将解决方案用户证书替换为 VMCA 证书”。
  3. 输入管理员用户和密码。
  4. 对提示做出响应。
    有关详细信息,请参见 VMware 知识库文章,网址为 http://kb.vmware.com/kb/2112281

结果

vSphere Certificate Manager 替换所有解决方案用户证书。