Pamatám si, keď som mal prvýkrát realizovať výmenu VMCA root certifikátu za custom certifikát. Nebol som si istý snáď ani jedným klepnutím do klávesy. Jediná myšlienka, ktorá mi dodávala odvahu, bola myšlienka na snapshot vCenter servera. Dnes si však ukážeme, ako implementáciu VMCA zvládnuť bez stresu.
Najprv si povedzme, čo je VMCA. VMCA (VMware Certificate Authority) je vstavaná certifikačná autorita vo VMware vSphere, ktorá automaticky vydáva a spravuje certifikáty pre ESXi hosty, vCenter Server a ďalšie interné služby. Výrazne zjednodušuje správu certifikátov, podporuje ich automatickú obnovu a umožňuje integráciu s vlastnou firemnou CA.
A práve integráciu s vlastnou CA si dnes ukážeme.
Generovanie CSR
- Prvá a najdôležitejšia vec je, urobiť si snapshot vCenter servera. Ak máme tú možnosť, urobíme ho za vypnutého stavu.
- Po opätovnom naštartovaní sa prihlásime na VAMI (https://<vcenter_server>:5480) a povolíme SSH Login.
- Prihlásime sa na vCenter server pomocou SSH a aktivujeme shell.
- Pre prácu s certifikátmi použijeme Certificate Managera /usr/lib/vmware-vmca/bin/certificate-manager

- Pre náš cieľ zvolíme možnosť “2” – Replace VMCA Root certificate with Custom Signing Certificate and replace all Certificates
- Na otázku, či chceme generovať všetky certifikáty pomocou konfiguračného súboru, odpovieme: “y“
- V tomto kroku sme požiadaní meno a heslo dostatočne privilegovaného uživateľa na prácu s certifikátmi. Default hodnota je administrator@vsphere.local takže ak je to aj náš prípad, stačí potvrdiť voľbu stlačením klávesy “Enter” a následne zadať heslo k tomuto účtu.
- Ak sme už tento postup absolvovali v minulosti, sprievodca sa nás opýta, či údaje, ktoré sme v minulosti zadali do certool.cfg chceme reconfigurovať. Ak si nie sme na 100% istí, čo je v certool.cfg zadané, zvolíme možnosť “y“.
- Sprievodca sa nás opýta pár základných údajov.
- Enter proper value for ‘Country’ : SK
- Enter proper value for ‘Name’ : <Company>-VMCA
- Enter proper value for ‘Organization’ : <Company>
- Enter proper value for ‘OrgUnit’ [optional] : InfrastructureTeam
- Enter proper value for ‘State’ : Slovakia
- Enter proper value for ‘Locality’ : Kosice
- Enter proper value for ‘IPAddress’ (Provide comma separated values for multiple IP addresses) [optional] : <vCenter IP>
- Enter proper value for ‘Email’ : infrastructureteam@company.com
- Enter proper value for ‘Hostname’ (Provide comma separated values for multiple Hostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] : vcsa01.company.local
- Enter proper value for VMCA ‘Name’ : vcsa01.company.local
- Kedže chceme vygenerovať “Certificate Signing Request(s) and Key(s)” zvolíme voľbu “1“
- Zvolíme adresár, kam sa majú “CSR(s) and PrivateKey(s)” po vygenerovaní uložiť. Output directory path: /storage/core
- Po úspešnom vygenerovaní dvoch súborov /storage/core/vmca_issued_key.key a /storage/core/vmca_issued_csr.csr dostaneme 2 možnosti.
- Continue to importing Custom certificate(s) and key(s) for VMCA Root Signing certificate
- Exit certificate-manager
Ak vieme jednoducho vykopírovať CSR, nechať ho podpísať a vygenerovaný certifikát nakopírovať späť na /storage/core, tak si môžeme ponechať otvorenú možnosť v kroku 12. Ak nie, kľudne môžeme zvoliť možnosť “2” a k importu sa vrátiť neskôr.
Poznámky k červeným odpovediam v bode 9:
- VMCA ‘Name’ MUSÍ byť FQDN vCenter servera
- Output directory path NESMIE byť /tmp/, na ktorý sme boli pár rokov zvyknutí.Ak vyberieme /tmp/, private key nám nebude sedieť s certifikátom. Pojednáva o tom toto KB.

Podpísanie CSR a vygenerovanie certifikátu – Intermediate CA
Pomocou scp commandu, alebo WinSCP nástroja, si vykopírujeme vmca_issued_csr.csr z vCenter servera uložíme ho do /tmp/ adresára na jednom z Openbao nodov.
- Podpíšeme CSR a vygenerujeme certifikát
bao write -field=certificate pki_root/root/sign-intermediate csr=@/tmp/vmca_issued_csr.csr ttl="8760h" > /tmp/vmca_intermediate.pem
- Vyskladáme potrebný chain pre import do vCenter servera
{ cat /tmp/vmca_intermediate.pem; echo; cat /tmp/PSguy_root_ca.crt; } > /tmp/<company>_vmca_chain.pem
Opäť pomocou príkazu scp alebo nástroja WinSCP, nakopírujeme vygenerovaný certifikát späť na vCenter server do adresára /storage/core/.
Import Custom Certificate
A ideme do finále. Za pár minút, budeme mať pregenerované všetky certifikáty pomocou novej Intermediace CA – VMCA.
Pred tým však potrebujeme “povedať” vCenter serveru, aby nečakal štandardných 24 hodín kým začne kontrolu a následnu obnovu certifikátov ale iba 5 min. To urobíme zmenou parametra vpxd.certmgmt.certs.minutesBefore z 1440 na 5. Po vygenerovaní nových certifikátov, môžeme parameter vrátiť späť.
- Ak ešte máme otvorené okno s 12. krokom pri generovaní CSR, môžeme pokračovať voľbou “1” – Continue to importing Custom certificate(s) and key(s) for VMCA Root Signing certificate.
- Ak nám okno vytimeoutovalo alebo sme zvolili pri generovaní CSR možnosť “2”,
- otvorme si na novo /usr/lib/vmware-vmca/bin/certificate-manager,
- zvoľme možnosť “2“,
- potvrďme generovanie certifikátov – “y“,
- potvrďme účet administrator@vsphere local stlačením “Enter” a zadajme k nemu heslo,
- zadajme možnosť “2” – Import custom certificate(s) and key(s) to replace existing VMCA Root Signing certificate
- Ak nám okno vytimeoutovalo alebo sme zvolili pri generovaní CSR možnosť “2”,
- Sprievodca nás vyzve na zadanie “…valid custom certificate for Root” File: /storage/core/<company>_vmca_chain.pem
- …a na zadanie “…valid custom key for Root” File: /storage/core/vmca_issued_key.key
- Na otázku, či chceme pokračovať vo výmene Root certifikátu za custom certifikát a regenerovaní všetkých ostatných certifikátov, odpovieme: “y“
- O úspešnom kroku 4 nás bude informovať správa: Status: 100% Completed [All tasks completed sucessfully]
O tom, že sme boli úspešní, nás presvedči aj náhľad certifikátu z obľúbeného internetového prehliadača.
Záver
Pevne verím, že podľa tohto návodu, sa vám vždy podarí zvládnuť implementáciu VMCA.














