vCenter证书过期的解决办法(2025年)| VMware新推出的vCert工具介绍和使用教程

vCenter证书过期的解决办法(2025年)| VMware新推出的vCert工具介绍和使用教程

一直以来,处理vCenter证书过期的办法就那么几个,包括那个看证书的状态的命令:

for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done

然后用自带的certificate-manager去刷新证书,见https://vmlib.com/vcenter-certificate-expiration-solutions/,处理vCenter证书过期问题很麻烦,办法很繁琐,而且这个自带的证书管理软件certificate-manager只能处理SSL和VCSA根证书,不能处理STS证书。如果是STS证书过期,还要额外下载脚本。

最近,博通VMware推出了一个新的工具叫vCert,见下面4月底的公告:

https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/ReleaseAnnouncements/Announcing-availability-of-vCert—Automated-Replacement-of-Expired-Certificates-on-vCenter-Server/25435

VMware新工具vCert:一站式解决所有证书问题的脚本工具

按照上面公告的内容,vCert其实就是一个用于vCenter的证书管理,自动替换的脚本工具,可用于检查证书状态、验证证书和服务之间的信任链、清理无效证书,并在证书即将过期或已过期时自动完成替换。

目前支持vCenter 7.x和8.x.

基本所有证书相关的功能的涵盖了:

  1. 检查当前证书状态
  2. 查看证书信息
  3. 管理证书
  4. 管理 SSL 信任锚点
  5. 检查证书相关配置
  6. 使用 VMCA 签发的证书重置所有证书
  7. ESXi主机上的证书操作
  8. 重启服务
  9. 生成证书报告

从博通的公告来看,这个vCert工具的推出,似乎为了打造一个“一站式”证书管理脚本,用以统一替代当前零散繁杂的处理方式。众所周知,VCSA的证书体系错综复杂,尤其是在证书过期之后,处理过程常常涉及多个工具和脚本,如checkstsfixcertslsdoctor等,操作门槛较高。看起来博通是要将这些功能整合进这个vCert,通过一个脚本简化整个vCenter证书生命周期的管理流程。

果不其然,我们去checksts和fixcerts脚本各自的KB,已经看到内容更改,都开始推荐vCert了:

可以看到checksts已经显示deprecated, 推荐使用vCert,https://knowledge.broadcom.com/external/article/318968/checking-expiration-of-sts-certificate-o.html
同样地,fixcerts脚本的KB也建议以后都是用vCert, https://knowledge.broadcom.com/external/article/322249/replace-certificates-on-vcenter-server-u.html

所以,从博通目前的方向来看,未来在处理vCenter证书相关问题时,推荐的做法将是统一使用vCert这个工具,不再依赖过去分散的脚本工具checkstsfixcerts,甚至 lsdoctor。目前来看,包括博主的亲测,的确显著简化了vCenter证书更新和替换的操作流程,这个vCert是有很大的实用性和便捷性的。


vCert的下载与安装

前往以下官方KB文章,拉到最底下,下载文章附件的脚本

https://knowledge.broadcom.com/external/article?articleNumber=385107

下载后上传至 vCenter,然后在脚本所在的目录中运行以下命令以执行该脚本:

# unzip -q vCert-6.0.1-20250516.zip
# cd vCert-6.0.1-20250516
# chmod +x vCert
# ./vCert.py

vCert的使用(vCert菜单选项的详细介绍

我们可以看到vCert主菜单有以下9个选项

  1. Check current certificate status
  2. View certificate info
  3. Manage certificates
  4. Manage SSL trust anchors
  5. Check configurations
  6. Reset all certificates with VMCA-signed certificates
  7. ESXi certificate operations
  8. Restart services
  9. Generate certificate report

我们来看一下每一个功能的作用:


1. Check current certificate status(检查当前证书状态)

第一个选项,其实就是对vCenter做一个全面的证书健康检查,具体内容包括:

  • 检查证书是否已过期
  • 检查证书是否将在 30 天内过期
  • 检查PNID是否存在于Subject Alternative Name字段中(适用于 Machine SSL)
  • 检查是否包含所需的Key Usage值(适用于Machine SSL和Solution Users)
  • 检查证书是否配置为使用推荐的Key Usage值
  • 检查 CA 证书是否具有Subject Key Identifier扩展字段
  • 检查是否存在多个CA证书具有相同的Subject字符串
  • 检查证书是否不是CA证书(适用于VMware Directory和VECS中的TRUSTED_ROOTS存储)
  • 检查证书链是否缺失某个CA证书
  • 检查证书在VECS的TRUSTED_ROOTS存储中是否存在无效的别名(Alias)
  • 检查证书是否使用了不受支持的签名算法
  • 检查VECS中的Solution User的证书是否与VMware Directory中的Service Principal条目所用证书一致

2. View certificate info(查看证书信息)

选择第二个选项View certificate info后,会出现以下的10个子选项,可以单独看每一个证书的详细信息

  1. Machine SSL 证书
  2. Solution User 证书
  3. VMware Directory 中的 CA 证书
  4. VECS 中的 CA 证书
  5. SMS 证书
  6. vCenter 扩展组件的指纹(thumbprint)
  7. 查看 STS 签名证书
  8. VMCA 证书
  9. 智能卡 CA 证书(Smart Card CA certificates)
  10. LDAPS 身份源证书

选项 1、2、8 将显示证书的可读信息以及证书的指纹(fingerprint)。
选项 3、4、5、9、10 将显示基本信息列表(Subject、Issuer、有效期、指纹等),并提供从列表中选择证书以查看详细的可读信息和 SHA1 指纹的功能。
选项 6 将显示每个应关联指纹的 vCenter 扩展组件所配置的指纹值。
选项 7 将显示 STS 签名证书的基本信息列表(Subject、Issuer、有效期、指纹等)。


3. Manage certificates(管理证书)

选择第三个Manage certificates后,会出现以下13个子选项

  1. Machine SSL 证书
    • 此选项会替换VECS中的Machine SSL证书,并更新当前节点的SSL信任锚点。可使用VMCA签发的证书或自定义CA签发的证书。
      • 自定义CA签发的证书:提供生成私钥和证书签名请求(CSR)的选项,或导入签名后的证书和私钥。如果所提供的CA签发证书不包含完整的CA链,脚本会提示输入包含完整链的文件。
  2. Solution User 证书
    • 此选项会替换VECS中的Solution User证书,并更新VMware Directory中的Service Principal项。vCenter数据库中的vpxd-extension指纹也被更新。可使用VMCA签发的证书或自定义CA签发的证书。
      • 自定义CA签发的证书:提供生成私钥和CSR的选项,或导入签名后的证书和私钥。如果提供的证书不包含完整的CA链,脚本将提示输入完整链文件。
  3. VMware Directory 中的 CA 证书
    • 此选项将显示 VMware Directory 中 CA 证书的信息,并提供发布或移除证书至 VMware Directory 的子菜单选项。
  4. VECS Directory 中的 CA 证书
    • 此选项将显示 VECS 中 CA 证书的信息,并提供提示以删除一个或多个证书(CA 证书需要发布到 VMware Directory,才能被添加到 VECS 的 TRUSTED_ROOTS 存储中)。
  5. SMS 证书
    • 此选项会输出 VECS 中 SMS 存储的条目,包括 vmware-sps 服务使用的证书,以及需要信任的第三方 VASA 提供商证书。子菜单中提供重新生成 SMS 自签证书和 VMCA 签发证书的选项。
  6. vCenter 扩展组件的指纹(thumbprint)
    • 此选项会检查 vpx_ext 表中以下扩展组件的指纹是否存在不匹配情况:
      • com.vmware.vim.eam(vpxd-extension)
      • com.vmware.rbd(vpxd-extension)【适用于 vCenter 8.0 U2 及之前版本
      • com.vmware.vcIntegrity(vpxd-extension)
      • com.vmware.vlcm.client(vpxd-extension)【适用于 vCenter 8.0】
      • com.vmware.imagebuilder(vpxd-extension)
      • com.vmware.vsan.health(Machine SSL)
      • com.vmware.vmcam(Authentication Proxy)如发现不匹配,将提示用户更新扩展组件的指纹。
  7. STS 签名证书
    • 此选项将备份当前 STS 签名证书及 CA 证书,删除 VMware Directory 中所有 TenantCredential 条目,然后使用 VMCA 签发的证书创建新条目。
  8. VMCA 证书
    • 此选项会替换 VMCA 证书,并重新签发 Machine SSL、Solution User 和 STS 签名证书。可使用 VMCA 签发的证书或自定义 CA 签发的证书。
      • 自定义CA签发的证书:提供生成私钥和 CSR 的选项,或导入签名后的证书和私钥。如果所提供的证书不包含完整的 CA 链,脚本会提示输入完整链的文件。
  9. 智能卡 CA 证书(Smart Card CA certificates)
    • 此选项将列出反向代理中 Smart Card CA 筛选文件的证书,以及 VMware Directory 中的 Smart Card 签发CA证书。子菜单提供向筛选文件添加/移除证书、向 VMware Directory 添加/移除 Smart Card 签发CA证书的选项。
  10. LDAPS 身份源证书
    • 此选项列出配置于AD over LDAPS身份源(或vCenter7.0中的ADFS)的证书。子菜单提供添加或移除 LDAP 服务器证书的功能。
  11. 清除 VECS 中 BACKUP_STORE 的过期证书
    • 此选项会清除 VECS 中 BACKUP_STORE和(如存在)BACKUP_STORE_H5C中的过期证书。
  12. 清除 VECS 中的 TRUSTED_ROOT_CRLS 存储内容
    • 此选项会清除 VECS 中 TRUSTED_ROOT_CRLS存储的条目。
  13. 清除 VECS 中的 Machine SSL CSR
    • 此选项会清除 VECS 中 MACHINE_SSL_CERT 存储中的 __MACHINE_CSR条目。该条目是在通过vSphere Client生成证书签名请求时创建的,并包含相应的私钥。

4. Manage SSL trust anchors 管理SSL信任锚点

  1. 检查 SSL 信任锚点
    • 该操作将输出所有作为SSL信任锚点使用的唯一证书的信息,涵盖Lookup Service注册和当前 SSO域中所有vCenter节点的Machine SSL证书。
      还可以输出对应的Service ID和endpoint URI,以显示每个服务注册项/端点所使用的证书。
  2. 更新 SSL 信任锚点
    • 此选项将更新所选vCenter在SSO域中的SSL信任锚点。该方法直接修改相关条目,而非通过 Lookup Service脚本或库进行更新。

5. Check configurations 检查配置菜单

  1. 检查是否存在SSL拦截
    • 此选项尝试连接hostupdate.vmware.com的443端口,并检查所呈现证书的签发者是否为 “DigiCert TLS RSA SHA256 2020 CA1”,以识别是否存在SSL拦截(SSL Interception)。
    • 如果证书由其他机构签发,系统将提示用户下载所呈现的 CA 证书并发布至 VMware Directory。
      若 CA 链不完整,用户将收到通知,需手动安装缺失的 CA 证书。获取到缺失证书后,可通过本选项进行安装。
  2. 检查STS服务器证书及其配置
    • 此选项检查 STS 服务是否配置为使用VECS中的 MACHINE_SSL_CERT 存储的证书(通常用于 6.x/7.x 的全新部署),或是否仍使用旧版的STS_INTERNAL_SSL_CERT存储(若系统是从 5.5 升级而来则存在该项)。
    • 如果STS被配置为使用非MACHINE_SSL_CERT的证书存储,系统会提示用户更新配置并重启服务。
    • 还会检查VMware Directory中的vmwSTSConnectionStrings属性:
      • 若是独立部署的 vCenter,此属性应指向 vCenter 主机名对应的 VMware Directory 实例;
      • 若是处于 Enhanced Linked Mode 下的 vCenter,且与其他 vCenter/PSC 节点在同一 SSO 域内,则应通过 localhost 引用 VMware Directory 实例。
        若该属性设置不正确,将提示用户更新。
  3. 检查VECS存储状态及权限
    • 此选项检查VECS中默认存储项的存在性及其权限配置。
      • 如果发现有存储项缺失,系统将提示用户重新创建。
      • 如果某个存储项缺少预期的权限配置,也会提示用户重新分配权限。

6. Reset all certificates with VMCA-signed certificates(使用VMCA签发的证书来重置所有证书)

此选项将使用由VMCA签发的新证书重置以下证书:

  • Machine SSL 证书(包括SSL信任锚点和vCenter扩展组件指纹)
  • Solution User 证书(包括 vCenter 扩展组件指纹)
  • STS 签名证书(STS Signing)

按了这个选项六,证书全部重置后,VCSA的全部服务需要重启一次:


7. ESXi certificate operations (ESXi主机的证书操作

  1. 检查ESXi/vCenter之间的证书信任关系
    • 检查VECS中的TRUSTED_ROOTS store,验证ESXi主机上反向代理(443端口) 和IOFilter VASA provider(9080端口) 所使用证书的签发者;同时检查vCenter的Machine SSL证书的签发者,以及/etc/vmware/ssl/castore.pem文件中的SMS证书。
  2. 检查ESXi证书是否与vCenter数据库一致
    • 将ESXi主机443端口所提供的SSL证书与vCenter数据库中的信息进行比对。如果两者不一致,可能会导致主机上的vSphere HA或vSAN等服务出现问题。
  3. 替换 ESXi 证书
    • 可替换ESXi主机上的/etc/vmware/ssl/rui.crt/etc/vmware/ssl/rui.key/etc/vmware/ssl/castore.pem文件。
      • ESXi的服务需要重启,才能使新的证书和私钥生效。
      • ESXi需要在vCenter中断开连接并重新连接,以便更新vCenter数据库中的新证书信息。

8. Restart services重启服务

  1. 重启所有VMware服务
    • 顾名思义,重启全部VCSA服务,跟service-control –restart all的命令一样作用
  2. 重启指定的VMware服务
    • 输入要重启的特定服务的名称。会显示跟service-control --list命令一样的输出结果,手动输入某一个要重启的服务的名字,然后确认重启。

9. Generate certificate report 生成证书报告

生成的报告包含以下信息:

  • VECS中的所有条目
  • VMware Directory中的所有 CA 证书
  • VMware Directory中的所有Service Principal(Solution User)
  • VMware Directory 中的所有STS签名证书条目
  • 文件系统中存储的各种服务证书(如Authentication Proxy、VMware Directory等)
  • 用于智能卡认证的CA证书
  • 用于 AD over LDAP(s) 身份源的CA证书
  • Lookup Service注册使用的SSL信任锚点(SSL trust anchors)

报告将在终端输出,同时也会保存为文件,路径为:/var/log/vmware/vCert目录下。

最后总结一下,vCert的推出为vCenter证书管理带来了全新的一站式解决方案,无论是Machine SSL、STS签名证书,还是Solution User证书的检查与替换,都可以通过一个统一的工具完成,大大简化了过去繁琐的操作流程。尤其是在vCenter证书即将过期或已经过期的情况下,使用vCert工具能快速排查问题并自动处理,避免服务中断。
如果你在找vCenter证书过期后如何恢复服务、如何替换vCenter STS证书、certificate-manager无法替换所有证书怎么办,或者想了解2025年最新VMware证书管理工具vCert怎么用,这篇文章应该能为你提供清晰的参考。

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理

或试用VMware日志分析工具(适用于vCenter错误,ESXi日志,虚拟机vmware.log等等)

########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

ESXi内部版本号对照表(2025年最新)| ESXi各版本构建号对照表
运维必备

ESXi内部版本号对照表(2025年最新)| ESXi各版本构建号对照表

本页整理了 VMware ESXi 各版本号对照表,包含详细的 Build Number(构建号)、发布日期(Release Date)、以及每个版本是否以 ISO 或 Patch 形式发布。适用于查询 ESXi 8.0、ESXi 7.0、ESXi 6.7 等不同版本的内部版本号,帮助用户识别当前系统版本、规划升级路径,或查找 ESXi 补丁 和 安装镜像下载链接。支持关键词如:ESXi 版本号对照、ESXi Build 编号查询、VMware ESXi 补丁区别、vSphere 升级参考资料 等。

如何从博通站点下载指定build number的VMware ESXi和vCenter的软件包
VMware快速入门

如何从博通站点下载指定build number的VMware ESXi和vCenter的软件包

本文详细讲解了如何从 Broadcom 官网下载指定 Build Number 的 VMware ESXi 或 vCenter 软件包,以 ESXi 8.0 build 24569005 为例,介绍了查找 Release Name、定位补丁包及下载路径的全过程。适用于 IT 运维人员、系统管理员以及需要精确控制部署版本的企业环境。无论你是找 ISO、Offline Bundle 还是补丁文件,这篇文章都能提供清晰指引。

无需Site ID从博通官方免费下载VMware vSphere ESXi的驱动包
VMware快速入门

无需Site ID从博通官方免费下载VMware vSphere ESXi的驱动包

很多用户发现无法通过 Broadcom 官网下载 VMware vSphere ESXi 驱动包,因为没有 Site ID。其实,即使是普通用户,只要通过“Free Software Downloads”入口,也能顺利获取驱动。本文详细介绍了无需 Site ID 下载 ESXi 驱动包的完整步骤,适用于2024年后的新版 Broadcom 支持平台。

//madurird.com/4/9119499