使用 vSphere Web Services SDK 替换 ESXi 主机上的证书时,之前的证书和密钥将附加到 .bak 文件。通过将 .bak 文件中的信息移动到当前证书和密钥文件中,可以还原之前的证书。

主机证书和密钥位于 /etc/vmware/ssl/rui.crt/etc/vmware/ssl/rui.key 中。使用 vSphere Web Services SDK vim.CertificateManager 受管对象替换主机证书和密钥时,之前的密钥和证书将附加到 /etc/vmware/ssl/rui.bak 文件。

注: 如果通过 HTTP PUT、 vifsESXi Shell 替换证书,则现有证书不会附加到 .bak 文件。

过程

  1. ESXi 主机上,找到 /etc/vmware/ssl/rui.bak 文件。
    该文件具有以下格式:
    #
    # Host private key and certificate backup from 2014-06-20 08:02:49.961
    #
    
    -----BEGIN PRIVATE KEY-----
    previous key
    -----END PRIVATE KEY-----
    
    -----BEGIN CERTIFICATE-----
    previous cert
    -----END CERTIFICATE-----
    
  2. 将开头为 -----BEGIN PRIVATE KEY----- 且结尾为 -----END PRIVATE KEY----- 的文本复制到 /etc/vmware/ssl/rui.key 文件中。
    包括 -----BEGIN PRIVATE KEY----------END PRIVATE KEY-----
  3. -----BEGIN CERTIFICATE----------END CERTIFICATE----- 之间的文本复制到 /etc/vmware/ssl/rui.crt 文件中。
    包括 -----BEGIN CERTIFICATE----------END CERTIFICATE-----
  4. 重新启动 ESXi 主机。
    或者,也可以将主机置于维护模式,使用直接控制台用户界面 (DCUI) 重新启动管理代理,并将主机设置为退出维护模式。