Upgrading to vCenter Server or ESXi 8.0 requires an additional precheck. The precheck ensures that vCenter Server and ESXi are not using certificates with weak signature algorithms, such as sha1WithRSAEncryption. Certificates with weak signature algorithms are no longer supported in vSphere 8.0 in most contexts.
vCenter Server upgrades may fail during precheck with an error stating, "Support for certificates with weak signature algorithms has been removed from vCenter Server 8.0."
Pre-Update Check Results
Error Support for certificates with weak signature algorithms has been removed in vCenter Server 8.0. The certificate with subject
'/C=##/ST=##/O=###/OU=###/CN=###/...' in VECS store TRUSTED_ROOTS has weak signature algorithm sha1WithRSAEncryption.
Resolution Replace the certificate with subject.
'...'
Caution: Verify that any certificates signed by the problematic certificate are not in use by vCenter Serer...
ESXi upgrades may fail during precheck with an error string stating, "Support for certificates with weak signature algorithm SHA-1 has been removed in ESXi 8.0."
Host not compatible with the image
SHA-1 signature found in host certificate rui.crt(/DC=###/CN=###'). Support for certificate with weak signature algorithm SHA-1 have been removed in ESXi 8.0 To proceed with upgrade, replace it with a SHA-2 signature based certificate. Refer to release notes and KB 89424 for more details.
The signing chain for the Machine cert contains an old SHA1 certificate, and vSphere 8 does not support SHA1 security algorithm.
The `vsphere8_upgrade_certificate_checks.py` Python script verifies that vCenter Server and the connected ESXi hosts are not using certificates with a weak digital signature algorithm. This is a standalone version of the same prechecks that are preformed during vCenter Server and ESXi upgrades. It can be run manually before a planned upgrade maintenance window.
The script first checks if vCenter Server has any unsupported certificates in the VECS stores. It then iterates through all of the ESXi hosts in the inventory to perform similar checks.
To run the script perform the following steps:
python /tmp/vsphere8_upgrade_certificate_checks.py
If any certificates with a weak signature algorithm are found, the details are printed to the console window. These issues should be resolved before proceeding with upgrade. An example output with failures is shown below.
python /tmp/vsphere8)upgrade_cerfificate_checks.py
Enter hostname [Default: localhost]:
INFO Verifying vCenter Server VECS store: MACHINE_SSL_CERT
INFO Verifying vCenter Server VECS store: TRUSTED_ROOTS
...
Error #################### Errors Found ####################
ERROR
ERROR Support for certificates with weak signature algorithms has been removed in vSphere 8.0....Correct the following <#> issues before proceeding with upgrade....
Note: Along with the other options for managing certs listed in the steps below, the vCert scripted CLI tool can also be used. Please make sure to take proper snapshots of the VCSA VM prior to managing any VCSA certs. If in linked mode (ELM), take offline snapshots of all linked VCSA VMs.
If the upgrade precheck failure message indicates that a problematic certificate is present in the VECS store "TRUSTED_ROOTS", then vCenter Server has configured trusted root or intermediate certificate that must be removed or replaced before upgrade can proceed. There may be a dependency on the problematic trusted root certificates and it's important to update the dependent services before removing or replacing the certificate. Also note that the certificates that are present in the VECS store "TRUSTED_ROOTS" are pushed to all connected ESXi hosts.
Steps to replace the certificate:
Log in with the vSphere Client to the vCenter Server.
Navigate to Administration > Certificates > Certificate Management.
Next to Trusted Root Store, click Add.
Browse and select the location of the Trusted Root and Intermediate certificates.
The certificate is added in a panel under Trusted Root Certificates.
If the upgrade precheck failure message indicates that a problematic certificate is related to certs in VMCA sub-ca chain, follow the steps in the following linked article.
If the upgrade precheck failure message indicates that a problematic certificate is present in the VECS store "BACKUP_STORE", then the certificate can be safely removed using one of the methods below.
The ESXi TLS certificate is managed by vCenter Server by default, however administrators may choose to manually assign a certificate. If the current TLS certificate contains a weak digital certificate, then a new certificate must be issued. Note that this certificate is stored in a file name "rui.crt" which may be displayed in the upgrade precheck error messages.
If the upgrade precheck failure message indicates that a problematic certificate is related to ESXi certs, follow the steps in the following linked article.
If the upgrade precheck failure message indicates that a problematic certificate is related to vVols (VASA) certs, follow the steps in the following linked article.
If using Sectigo custom CA certs, consider the following article.