SSLmentor

Kvalitné TLS/SSL certifikáty pre webové stránky a internetové projekty.

openssl

openssl

Export certifikátu do PFX pomocou OpenSSL

Návod na exportovanie privátneho kľúča, certifikátu, vrátane medziľahlých certifikátov certifikačnej autority z formátu PEM (X.509) do formátu PFX, ktorý je vhodný k inštaláciu na Windows server s IIS (Internet Information Server).

Export pomocou OpenSSL

Pre prácu s certifikátmi je potreba mať nainštalovanú knižnicu OpenSSL. Na stránke OpenSSL pro Windows a Mac OSX nájdete návod a odkazy na stiahnutie.

Príprava certifikátov

Pre export budeme potrebovať súbory s certifikátmi a privátnym kľúčom. Všetko si uložte do 3 súborov - privátny kľúč (.key), verejný kľúč (.pem) a jeden súbor bude s intermediate kľúčmi od CA (.pem). Pre export nezáleží či sa súbory budú mať príponu .PEM alebo .TXT a označenie záleží na vašej voľbe. Privátny kľúč je z hľadiska orientácie vhodné pomenovať ako .KEY.

  • súbor s privátnym kľúčom (uložený pri generovaní v administrácii alebo v OpenSSL)
  • súbor s certifikátom od certifikačnej autority (ocertifikovaný verejný kľúč)
  • súbor s intermediate certifikátmi certifikačnej autority

Súbory obsahujú certifikáty vo formáte PEM. Kľúče začínajú a končia na -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----, privátní klíč -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY-----.

Export PEM do PFX

Pre export v OpenSSL využijeme príkaz PKCS12 s nastavenými parametrami:

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

Alebo napríklad ak máte kľúče v TXT súboroch a spustený OpenSSL:

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

Po spustení bude vyžadované zadať heslo + potvrdenie (min. 4 znaky), certifikát je následne vyexportovaný do súboru cert.pfx.
Pokiaľ nie sú súbory umiestnené v používanom adresári, je nutné špecifikovať cestu. Súbory s certifikátmi môžu mať aj príponu .txt, ako je uvedené na obrázku.
 

OpenSSL - export certifikátu do PFX

Kontrola .pfx súboru s kľúčmi

Po exporte odporúčame vykonať kontrolu .pfx súboru, či boli všetky certifikáty správne vložené.

openssl pkcs12 -info -nodes -in cert.pfx

Potencionálné chyby pri exporte

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

Skontrolujte si cestu a názvy súborov s kľúčmi.

Unable to load certificate
Skontrolujte správny formát PEM certifikátov a obsah začínajúcich -----BEGIN CERTIFICATE-----.

UPOZORNENIE na chybu: "The password you entered is incorrect" pri importe PFX na staršie Windows servery s IIS.
OpenSSL od verzie 3.0 exportuje súbor PFX s defaultným šifrovaním AES256 namiesto SHA. Nový spôsob systémy Win10 <= 1703 alebo Windows Server 2012 R2 nepodporujú a import skončí s chybou.
Riešením je nový PFX certifikát naimportovať na stanicu s OS Windows a tu ho vyexportovať opäť do PFX. Potom by certifikát mal byť bez problémov naimportovaný aj na starší OS. Prípadne upraviť exportný príkaz v OpenSSL.

Práca s kľúčmi 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

Späť na Nápovedu
Našli ste chybu alebo niečomu nerozumiete? Napíšte nám!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum