Jedną z głównych nowości w VMware Integrated Containers 1.3 (VIC) jest rozbudowany plugin do vSphere Client UI (html5) za pomocą którego można skonfigurować i uruchomić VMware Container Host (VCH). Plugin ten jest uzależniony od prawidłowej konfiguracji SSL w vCenter. I tutaj pojawia się temat rzeka, co to jest prawidłowa konfiguracja? Jak się okazuje, każdy kto wygenerował sobie certyfikaty z VMCA podpisanego przez Root CA ma konfigurację prawie dobrą. Gdzie pojawia się problem, opiszę niżej.
Zaczniemy od podstaw, uruchomiliśmy VIC zgodnie z instrukcją, plugin został wgrany poprawnie ale nie działa (nie pokazuje żadnej zawartości). W logu:
/storage/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log
Pojawia się komunikat (plus wiele innych):
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Server certificate chain is not trusted and thumbprint doesn’t match
Problem ten dotknął wielu ludzi, po długim dochodzeniu okazało się, że problemem jest certyfikat CA (Root lub VMCA) doklejany do certyfikatu maszyny. Wchodząc na adres https://vCenter/psc możemy przejrzeć aktualną zawartość VMware VECS, w tym stor __MACHINE_CERT:
Jak widać __MACHINE_CERT zawiera oprócz certyfikatu maszyny także certyfikat CA (VMCA) które podpisało ten certyfikat. I jest to sytuacje nie prawidłowa. Niestety, aby poprawić ten problem, należy ponownie wygenerować (jeśli nie mamy starego) lub ponownie wgrać posiadany certyfikat bez certyfiaktu CA. Prawidłowo wygląda to tak:
Od tego momentu wszystkie operacje wykonywane z poziomu VIC html5 plugin będą działały bez najmniejszego problemu.
27.11.2018 at 10:35
Do i have to change the __MACHINE_CERT on the PSC and on the VCenter Appliances?
I changed it on one VCenter Server and was not able to connect again, because the certificate was invalid without the whole chain….
28.11.2018 at 19:52
CA certificates are in a separate store, check in Administration -> Certificate Management. In the Trusted Root Certificates section, you need to have the CA certificate who signed __MACHINE_CERT (Root CA and Sub CA (VMCA) aka whole chain). In my opinion, you not need to change __MACHINE_CERT in separate PSC (or Check if the problem is not a lack of CA certificate in your browser!).
Regards,
Piotr