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ů

Pro export budeme potřebovat soubory s certifikáty a privátním klíčem. Vše si uložte do 3 souborů - privátní klíč (.key), veřejný klíč (.pem) a jeden soubor bude s intermediate klíči od CA (.pem). Pro export nezáleží zda se soubory budou mít příponu .PEM nebo .TXT a označení záleží na vaší volbě. Privátní klíč je z hlediska orientace vhodné pojmenovat jako .KEY.

  • soubor s privátním klíčem (uložen při generování v administraci nebo v OpenSSL)
  • soubor s certifikátem od certifikační autority (ocertifikovaný veřejný klíč)
  • soubor s intermediate certifikáty certifikační autority

Soubory obsahují certifikáty ve formátu PEM. Klíče začínají a končí na -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----, privátní klíč -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY-----.

Export PEM do PFX

Pro export v OpenSSL využijeme příkaz pkcs12 s nastavenými parametry:

openssl pkcs12 -export -out cert.pfx -inkey private.key -in cert.pem -certfile cabundle.pem

Nebo napříklal pokud máme klíčet v TXT souborech a spuštěn OpenSSL:

pkcs12 -export -out cert.pfx -inkey key.txt -in cert.txt -certfile ca.txt

Po spuštění bude vyžadováno zadat heslo + potvrzení (min. 4 znaky), certifikát je následně vyexportován do souboru cert.pfx.
Pokud nejsou soubory umístěné v používaném adresáři, je nutné specifikovat cestu. Soubory s certifikáty 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

Export certifikátu do PFX bez privátního klíče

Export certifikátu do PFX bez privátního klíče: openssl pkcs12 -export -out cert.pfx -nokeys -in certificate.pem

Export certifikátu do PFX bez privátního klíče s CA intermediate certifikáty: openssl pkcs12 -export -out cert.pfx -nokeys -in certificate.pem -certfile cabundle.pem

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

Zpět na Nápovědu
Našli jste chybu nebo nečemu nerozumíte? Napiště nám!

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