Aktualna wersja vCenter 6.7U3 przyniosła ze sobą ciekawą zmianę, jak możemy przeczytać tu, wszystkie certyfikaty CA trusted store muszą mieć ustawioną flagę X509v3 Basic Constraints: CA: TRUE. Brak tej flagi w jakimkolwiek certyfikacie blokuje w zasadzie wszelkie operacje na certyfikatach, pojawia się błąd “Certificate is not valid CA certificate”. Dziś na przykładzie problemu z odświeżeniem certyfikatów CA na poziomie hosta, pokażę jak sobie z tym poradzić. Generalnie, tak jak pisałem w tym poście, w magazynie certyfikatów CA vCenter powinien panować porządek, bałagan niesie ze sobą same problemy.
W ramach przygotowań do odświeżenia certyfikatu vCenter (machine cert), postanowiłem dograć do trusted store nowe certyfikaty CA oraz przesłać je do wszystkich hostów ESXi. Procedura zatrzymała się bardzo szybko z komunikatem:
Zaraz za komunikatem “Certificate is not valid CA certificate” jest wylistowany certyfikat, i nie był to żaden z certyfikatów CA które dodałem. Jak się okazało, po sprawdzeniu zawartości trusted store, znajdował się tam certyfikat vCenter (w dodatku dawno nie aktualny).
Do pewnego momentu stosowaliśmy certyfikaty podpisane przez zewnętrzne CA dla vCenter, później przeszliśmy na certyfikaty generowane przez VMCA podpisane przez MSCA. Ten certyfikat to pozostałość po migracji i zdecydowanie jego obecność jest niezgodna z polityką 6.7U3. Aby rozwiązać problem certyfikat vCenter należy usunąć z trusted store, robimy to z poziomu powłoki systemu vCenter. Listujemy zawartość trusted store:
Listujemy certyfikaty aby sprawdzić właściwy ID certyfikatu, następnie eksportujemy interesujący nas certyfikat i na końcu usuwamy go z VMDIR:
Na końcu usuwamy ten certyfikat z VECS:
Wszystkie kroki wykonujemy zgodnie z tym KB, jako że skasowaliśmy certyfikat który nie był wykorzystywany, nie musimy wykonywać jakiegokolwiek restartu. Możemy od razu odświeżyć certyfikaty CA na ESXi: