vmWare vCenter Fehler „Zertifikatsstatus“ und wie man ein abgelaufenes Zertifikat entfernt

Manchmal begrüßt das vCenter den Admin mit einer eher rätselhaften „Zertifikatsstatus“ Fehlermeldung im vCenter UI. In diesem speziellen Fall war eine alte rootCA, die durch die Jahre der Datenmigration irgendwie noch vorhanden war. Es ist auch gar nicht so einfach, diese endlich loszuwerden.

Lösung

Zuerst muss man das betroffene Zertifikat finden. Es wäre natürlich viel zu hilfreich, wenn das UI das direkt anzeigen würde, daher muss man etwas tiefer gehen.

Die erste Anlaufstelle dazu ist der Zertifikatsmanager im vCenter unter Einstellungen > Verwaltung > Zertifikatsverwaltung. In diesem Fall hatten wir Glück, das abgelaufene „Vertrauenswürdige Stammzertifizierungsstellen“ Zertifikat war in der Liste enthalten. Das ist aber nicht immer der Fall, davon nicht entmutigen lassen.

Sollte das nicht funktionieren, kann man sich alle Zertifikate des vCenter Stores mit diesem Einzeiler an der Shell anzeigen lassen:

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

Im zweiten Schritt holen wir uns die (dezimale) Seriennummer des Zertifikates. Die UI zeigt die Nummer an, wenn man das betroffene Zertifikat auseinanderfaltet. Selbige Seriennummer rechnen wir schnell in hexadezimal um, weil alle anderen Tools die Seriennummer nur als hex-Wert angeben (*seufz*).

Also in diesem Fall:

10582953812961080800 = 92:DE:34:6C:07:E9:35:E0

Mit der Seriennummer bewaffnet, können wir uns an der Shell die „echten“ Zertifikatsdetails heraussuchen. Die Liste der Zertifikate bekommt man mit („q“ um less zu beenden):

/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text | less

ℹ️ Es können auch mehrere Zertifikate entfernt werden. Alle abgelaufenen (und nicht verwendeten) Zertifikate sollten sogar entfernt werden, um diese zertifikatsbezogenen Alarme zu entfernen.

Aus dieser Liste brauchen wir eigentlich nur Alias und den X509v3 Subject Key Identifier:

Jetzt brauchen wir von diesem Zertifikat wiederum den Thumbprint (vmware nennt das die „CN(id)“). Man nehme also nun den Fingerabdruck von dem CN, der abgelaufen gewesen ist. Die Fingerabdrücke listet man auf mit:

/usr/lib/vmware-vmafd/bin/dir-cli trustedcert list

Mit dem Thumbprint kann man nun endlich das Zertifikates exportieren und möglicherweise sogar ein Backup wegspeichern. Sicher ist sicher.

/usr/lib/vmware-vmafd/bin/dir-cli trustedcert get --id <THUMBPRINT> --login [email protected] --outcert /tmp/ABGELAUFENES-CERT.cer

Die Meldung „Certificate retrieved successfully“ bestätigt, dass das geklappt hat.

Wenn der Export vorliegt, kann man nun endlich das Zertifikat „Un-Publishen“:

/usr/lib/vmware-vmafd/bin/dir-cli trustedcert unpublish --cert /tmp/ABGELAUFENES-CERT.cer

Die Meldung „Certificate unpublished successfully“ bestätigt, dass das geklappt hat.

Jetzt kann man das Zertifikat auch endlich aus dem Endpoint-Zertifikatsseicher (VECS, VMware Endpoint Certificate Store) löschen:

/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store TRUSTED_ROOTS --alias <ALIAS>

Zu guter Letzt wird jetzt noch der Zertifikatsspeicher refreshed. Das sorgt für einen saubere Replikation, wenn man mehrere PSCs im Einsatz hat:

/usr/lib/vmware-vmafd/bin/vecs-cli force-refresh

… und wenige GUI-Minuten später ist auch schon die Zertifikatsstatus-Fehlermeldung dauerhaft entfernbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.