Alle Zertifikate erneuert. Bis auf eins.
Ein vCenter 8.0 Update 3 bei einem Kunden, eingebettete Installation. Unter Monitor → Issues and Alarms stehen zwei Alarme, ausgelöst am 26. August um 23:21 Uhr:
MACHINE_SSL_CERT certificate in VECS is about to expire KB 385107
Solution user certificate(s) in VECS is about to expire KB 385107Auf der Übersichtsseite des vCenter sieht das so aus, mit der Warnung zum Data-Encipherment-Zertifikat gleich dazu:

Das vCenter hat einen Monat vorher gewarnt und gleich den passenden Knowledge-Base-Artikel dazugeschrieben. Die Alarme standen da, zwischen einer Skyline-Warnung vom April und allem anderen, was in dieser Liste so steht. Passiert ist bis zum Ablauf nichts.
Einen Monat später zeigt die Zertifikatsprüfung ein Bild, das man nicht sehen will:
Checking Certificate Status
-----------------------------------------------------------------
Checking Machine SSL certificate EXPIRED
Checking Solution User certificates:
machine EXPIRED
vsphere-webclient EXPIRED
vpxd EXPIRED
vpxd-extension EXPIRED
hvc EXPIRED
wcp VALID
Checking SMS self-signed certificate VALID
Checking SMS VMCA-signed certificate VALID
Checking data-encipherment certificate EXPIRED
Checking Authentication Proxy certificate VALID
Checking Auto Deploy CA certificate VALID
Checking VMCA certificate VALIDDie eigene Zertifizierungsstelle des vCenter, die VMCA, ist in Ordnung:
Validity
Not Before: Sep 23 09:22:07 2024 GMT
Not After : Sep 21 09:22:07 2034 GMTZehn Jahre für die Wurzel. Die Zertifikate, die sie für die Dienste ausgestellt hat, halten deutlich kürzer. Das vCenter wusste das und hat es gesagt.
Das Werkzeug
Broadcom stellt dafür ein Skript bereit: vCert , ein Menü für fast alle Zertifikatsarbeiten am vCenter, für 7.0, 8.0 und 9.x. Vorher gehört ein Snapshot oder eine Sicherung über die Verwaltungsoberfläche her, bei mehreren vCentern in einer SSO-Domäne von allen. Wir machen das grundsätzlich als Cold Snapshot: vCenter herunterfahren, Snapshot ziehen, wieder starten. Das Skript sagt es beim Start selbst:
------------------------!!! Attention !!!------------------------
This script is intended to be used at the direction of Broadcom Global Support.
Changes made could render this system inoperable. Please ensure you have a valid
VAMI-based backup or offline snapshots of ALL vCenter/PSC nodes in the SSO domain
before continuing.Damit das Hochladen per SCP funktioniert, braucht root die Bash statt der Appliance-Shell:
Command> shell
root@vcenter [ ~ ]# chsh -s /bin/bash rootDanach die ZIP-Datei nach /tmp, entpacken, ausführbar machen, starten:
cd /tmp
unzip vCert-6.1.2-20260713.zip
cd vCert-6.1.2-20260713
chmod +x vCert.py
./vCert.pyDas Hauptmenü:
VCF/VVF Certificate Management Utility (version 6.1.2)
-----------------------------------------------------------------
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
E. ExitDer Reset
Menüpunkt 1 prüft, Menüpunkt 6 setzt alle Zertifikate mit neuen, von der VMCA signierten zurück. Das Skript fragt zuerst die Angaben für die Zertifikatsanforderung ab:
Enter the country code [US]:
Enter the Organization name [VMware]:
Enter the Organizational Unit name [VMware Engineering]:
Enter the state [California]:
Enter the locality (city) name [Palo Alto]:Das sind die Standardwerte, die seit der Installation in der vCenter-Datenbank stehen. Für interne Zertifikate der VMCA stört das nicht, schön ist es nicht.
Dann arbeitet vCert eine lange Liste ab, jede Zeile mit OK. Gekürzt:
Replace Machine SSL Certificate
-----------------------------------------------------------------
Generate certool configuration OK
Regenerate Machine SSL certificate OK
Backing up Machine SSL certificate and private key OK
Updating MACHINE_SSL_CERT certificate OK
Replace Solution User Certificates
-----------------------------------------------------------------
Verifying Service Principal entries exist OK
Generate new certificates and keys:
machine OK
vsphere-webclient OK
vpxd OK
vpxd-extension OK
hvc OK
wcp OK
[... dasselbe für Sicherung, VECS und VMware Directory ...]
Update vCenter Extension Thumbprints
-----------------------------------------------------------------
com.vmware.vcIntegrity (vpxd-extension) UPDATED
com.vmware.vim.eam (vpxd-extension) UPDATED
com.vmware.vlcm.client (vpxd-extension) UPDATED
com.vmware.vmcam (Authentication Proxy) MATCHES
com.vmware.vsan.health (Machine SSL) UPDATED
Update SSL Trust Anchors
-----------------------------------------------------------------
[... 45 Zeilen „Updating service: <ID>" ...]
Updated 45 service(s)Die 45 Dienste sind der Grund, warum man so etwas nicht von Hand macht. Darunter war auch das Plugin eines Hardwareherstellers. Jedes Plugin, das sich am vCenter angemeldet hat, kennt den alten Fingerabdruck. Wer einen davon vergisst, sucht hinterher lange.
Das Signaturzertifikat des Anmeldedienstes (STS) war noch gültig. vCert fragt trotzdem, ob es ersetzt werden soll, und warnt vorher:
Replacing the STS Signing Certificate will invalidate the authentication
token for all user-defined Scheduled Tasks created in vCenter.
There are 0 user-defined Scheduled Tasks found in the vCenter database.
Replace STS Signing Certificate? [N]:Keine geplanten Aufgaben, aber auch kein Grund. Also nein. Zum Schluss die Dienste neu starten:
Restart VMware services [N]: Y
Stopping VMware services OK
Starting VMware services OKDie zweite Prüfung
Danach noch einmal Menüpunkt 1:
Checking Machine SSL certificate VALID
Checking Solution User certificates:
machine VALID
vsphere-webclient VALID
vpxd VALID
vpxd-extension VALID
hvc VALID
wcp VALID
Checking data-encipherment certificate EXPIRED
[...]
------------------------!!! Attention !!!------------------------
- One or more certificates are expiredDas Data-Encipherment-Zertifikat. Unverändert.
Das ist kein Fehler des Skripts. Laut Broadcom umfasst „Reset all certificates" genau drei Dinge: Machine SSL, die Solution User und das STS-Signaturzertifikat. Das Data-Encipherment-Zertifikat gehört nicht dazu.
Der Name des Menüpunkts sagt „alle". Die Liste mit den OK-Zeilen sieht nach allen aus. Erst die zweite Prüfung zeigt, dass es nicht alle waren.
Das letzte Zertifikat
Es hat einen eigenen Eintrag: Menüpunkt 3, Manage certificates, dort Punkt 6.
Select an option [Return to main menu]: 6
Generate new Data Encipherment certificate? [N]: Y
Generate Data Enciphement Certificate
-----------------------------------------------------------------
Backing up certificate and private key OK
Generate new certificate OK
Delete current certificate and private key OK
Install new certificate and private key OK
Restart service(s) vmware-vpxd [N]: y
Stopping vmware-vpxd OK
Starting vmware-vpxd OKDafür muss nur der vCenter-Dienst vmware-vpxd neu starten, nicht alle. Die dritte Prüfung:
Checking data-encipherment certificate VALIDUnd diesmal steht unten kein Hinweis mehr. Zum Schluss die Shell zurück, wie Broadcom es beschreibt :
root@vcenter [ ~ ]# chsh -s /bin/appliancesh root
root@vcenter [ ~ ]# logoutAm selben Tag: noch ein vCenter
Ein zweites Kundensystem, diesmal Version 7, dasselbe Problem. Die VMCA ist hier von 2020 und gilt bis 2030. Gleicher Ablauf, Menüpunkt 6, mit zwei Unterschieden.
Der erste kommt bei der Frage nach dem STS-Signaturzertifikat:
There are 1 user-defined Scheduled Tasks found in the vCenter database.
Replacing the STS Signing Certificate will require removing and
recreating ALL of these tasks.
Replace STS Signing Certificate? [N]:Diesmal gibt es eine geplante Aufgabe. Das STS-Zertifikat war gültig, also bleibt es, wie es ist, und die Aufgabe läuft weiter. Wer hier aus Gewohnheit Ja sagt, darf sie hinterher neu anlegen.
Der zweite kommt bei der Prüfung danach. Das Data-Encipherment-Zertifikat war diesmal gültig, dafür steht Neues in der Liste:
Checking VMDir certificate EXPIRED
Checking BACKUP_STORE entries:
bkp___MACHINE_CERT EXPIRED
bkp_machine VALID
bkp_vsphere-webclient VALID
bkp_vpxd VALID
bkp_vpxd-extension VALID
bkp_hvc VALID
bkp_wcp NO SAN
[...]
------------------------!!! Attention !!!------------------------
- One or more certificates are expired
- One or more certificates do not have any Subject Alternative Name valuesDas VMDir-Zertifikat klingt dramatischer, als es ist. Laut Broadcom wird es seit vCenter 7 gar nicht mehr benutzt. Die alte Datei liegt nur noch herum, und vCert prüft sie trotzdem. Die Warnung lässt sich gefahrlos ignorieren. Broadcom empfiehlt dennoch, die Datei zu entfernen, damit sie nicht jede künftige Prüfung rot färbt. Genau das haben wir gemacht:
cd /usr/lib/vmware-vmdir/share/config
rm vmdircert.pemDer BACKUP_STORE enthält die Sicherungen, die vCert vor dem Tausch anlegt. Der abgelaufene Eintrag dort ist nichts anderes als das alte Machine-SSL-Zertifikat, das gerade ersetzt wurde. Dass es abgelaufen ist, war ja der Grund für den Tausch. Diese Meldung ist also erwartet, und wir lassen die Sicherung bewusst liegen. vCert hätte zwar einen Menüpunkt zum Aufräumen, Clear expired certificates in BACKUP_STORE in VECS, aber eine Sicherung löscht man nicht, nur damit eine Prüfung grün wird.
Danach: alle, die mit dem vCenter reden
Fertig ist man damit noch nicht. Jedes System, das sich mit dem vCenter verbindet, hat sich den alten Fingerabdruck gemerkt. Das neue Zertifikat sieht für diese Systeme erst einmal aus wie ein fremder Server.
Im Beispiel ist das Veeam. Dort geht es so:
- In der Konsole unter Inventory mit rechts auf das vCenter klicken, dann Properties.
- Im Assistenten auf Next, bis die Verbindung geprüft wird.
- Es erscheint der Hinweis, dass sich der Fingerabdruck des Zertifikats geändert hat. Einmal mit Continue bestätigen, den Assistenten beenden, fertig.

Quelle: Veeam Help Center . Der Screenshot zeigt die Zertifikatswarnung beim Hinzufügen eines vCenter. Beim geänderten Fingerabdruck erscheint ein entsprechender Hinweis an derselben Stelle.
Dasselbe gilt für alles andere, was das vCenter anspricht, etwa Monitoring oder Skripte. Am besten vorher eine Liste machen, dann vergisst man keins.
Was wir daraus mitnehmen
- Nach dem Reset noch einmal prüfen. Nicht die OK-Zeilen des Resets lesen, sondern die Statusprüfung neu laufen lassen und bis zur letzten Zeile lesen.
- Das Data-Encipherment-Zertifikat gesondert erneuern. Menüpunkt 3, dann 6. Danach reicht ein Neustart von
vmware-vpxd. - Die Alarme des vCenter ernst nehmen. Die Warnung kam einen Monat vorher, mit KB-Nummer. Ein Alarm, der nur in der Oberfläche steht, erreicht niemanden. Er gehört per Mail oder ins Monitoring, und die Liste gehört regelmäßig leergeräumt, damit ein neuer Eintrag auffällt.
- Vorher sichern, auch wenn es eilt. Bei uns heißt das: Cold Snapshot. vCert sagt es selbst, und es hat recht.
- Die Shell zurückstellen, wenn die Bash nur für diesen Einsatz gebraucht wurde.
- Die Gegenseite nicht vergessen. Veeam und alle anderen Systeme, die das vCenter ansprechen, müssen das neue Zertifikat einmal bestätigen.
