SSLmentor

TLS/SSL certifikáty pro kvalitní HTTPS zabezpečení webových stránek a internetových projektů.

Export certifikátu do PFX pomocí OpenSSL

Návod na exportování privátního klíče, certifikátu, včetně mezilehlých certifikátů certifikační autority z formátu PEM (X.509) do formátu PFX, který je vhodný k instalaci na Windows server s IIS (Internet Information Server).

Export pomocí OpenSSL

Pro práci s certifikáty je potřeba mít nainstalovánu knihovnu OpenSSL - OpenSSL pro Windows a Mac OSX.

Příprava certifikátů

  • 1x privátní klíč (uložen při generování v administraci)
  • 1x veřejný klíč obdržený od CA včetně klíčů certifikační autority (např. RapidSSL má jeden, Comodo PositiveSSL má dva)

Klíče začínají a končí na -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----, privátní klíč -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY-----. Klíče si uložte do 3 souborů - privátní klíč (.key), veřejný klíč (.pem) a jeden soubor s klíči od CA (.pem). Pro export nezáleží zda se soubory budou mít příponu .PEM nebo .TXT. Privátní klíč je z hlediska orientace vhodné pojmenovat jako .KEY.

Export do PFX

Po spuštění nainstalovaného programu openssl.exe se provede v konzoli příkaz pkcs12 s nastavenými parametry:

openssl> pkcs12 -export -out cert.pfx -inkey privateKey.key -in certificate.pem -certfile cacert.pem

Text "OpenSSL>" označuje začátek řádku, do příkazu se neuvádí. Po spuštění se zadá heslo + potvrzení a certifikát je vyexportován do souboru cert.pfx.
Pokud nejsou soubory umístěné ve stejném adresáři jako program, je nutné specifikovat cestu. Soubory mohou mít i příponu .txt, jak je uvedeno na obrázku.
 

OpenSSL - export certifikátu do PFX

Kontrola .pfx souboru s klíči

Po exportu doporučujeme provést kontrolu .pfx souboru, zda byly všechny certifikáty správně vloženy.

openssl> pkcs12 -info -nodes -in cert.pfx

Potencionální chyby při exportu

Error opening input file key/cert.txt
 key/cert.txt: No such file or directory

Zkontrolujte si cestu a názvy souborů s klíči.

Unable to load certificate
Zkontrolujte správný formát PEM certifikátů a obsah začínající -----BEGIN CERTIFICATE-----.

Práce s klíči v PFX

Export šifrovaného privátního klíče z .pfx získáte příkazem: openssl> pkcs12 -in cert.pfx -nocerts -out key-crypt.key
Heslo pro zašifrování musí být min. 4 znaky dlouhé.

Dešifrování privátního klíče: openssl> rsa -in key-crypt.key -out key.key

Export certifikátu (veřejného klíče) do .crt formátu: openssl> pkcs12 -in cert.pfx -clcerts -nokeys -out cert.crt

Konverze certifikátů mezi různými formáty

Pomocí OpenSSL lze provádět různé konverze mezi formáty pomocí následujících příkazů.

Convert PEM → DER
openssl> x509 -outform der -in certificate.pem -out certificate.der
Convert PEM → P7B
openssl> crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b -certfile cacert.pem
Convert DER → PEM
openssl> x509 -inform der -in certificate.cer -out certificate.pem
Convert P7B → PEM
openssl> pkcs7 -print_certs -in certificate.p7b -out certificate.pem
Convert P7B → PFX
openssl> pkcs7 -print_certs -in certificate.p7b -out certificate.pem
openssl> pkcs12 -export -in certificate.pem -inkey privateKey.key -out certificate.pfx -certfile cacert.pem
Convert PFX → PEM
openssl> pkcs12 -in certificate.pfx -out certificate.pem -nodes
SSLmentor doporučuje

SSL certifikáty ve Windows

Pokud se chcete vyhnout exportu certifikátů, doporučujeme generovat CSR žádost o certifikát přímo na serveru s IIS, kde jej budete následně instalovat. Obsáhlý návod pro starší Windows Server 2008 R2 například na sevecek.com