Konverze PFX na PEM a zpět

Vzhledem k použitým multiplatformním technologiím potřebuji občas zkonvertovat jeden formát certifikátu do druhého. Používá se k tomu openssl.exe. Mocný, ale náročný program. Příjde mi, že je složen z několika modulů, každý od jiného tvůrce, s naprosto odlišnou syntaxí příkazů, přepínačů, voleb. Pamatovat si vše z hlavy je pro mne nadlidský úkol. Takže si sem budu poznamenávat nejčastější příkazy.

Základem je mít nainstalován Win32 OpenSSL balík (dostupný zde http://www.slproweb.com/products/Win32OpenSSL.html). Budu předpokládat, že PFX je již vytvořený a uložený do adresáře c:\certs\.

cd \certs\
c:\openssl\bin\openssl.exe pkcs12 -in c:\certs\muj.pfx -out c:\certs\muj.pem -nodes

Při dotazu na import heslo se zadá heslo použité při exportování PFX včetně privátního klíče. Správnost exportu dosvědčí hláška MAC verified OK. Takto vytvořený PEM obsahuje i privátní klíč!

Pokud je potřeba do PEM dostat pouze veřejný klíč, je na Windows nejjednodušší vyexportovat ze serveru, kde je daný certifikát používán, veřejný klíč ve tvaru Base-64 encoded X.509, což je PEM :) V předchozím kroku je však zapotřebí NEzvolit "Yes´, export the private key".

 

Pokud bych potřeboval převést PEM na PFX, použiji následující příkaz. Základem je opět Win32 OpenSSL balík. Budu předpokládat, že PEM je již vytvořený a uložený do adresáře c:\certs\.

cd \certs\
c:\openssl\bin\openssl.exe pkcs12 -inkey c:\certs\muj.key -in c:\certs\muj.pem -export -out c:\certs\muj.pfx

 

 

Zobrazit komentáře