SSLmentor

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

PEM, PFX, KEY, ...

PEM, PFX, KEY, ...

Formáty certifikátov

V súvislosti s SSL certifikáty je zmieňovaný pomerne veky počet názvov ako PEM, CSR, KEY, DER atď. Jedná sa o súbory, ktoré sú prakticky iba "schránky" pre umiestnenie certifikátu a jeho kľúčov. Veľké množstvo formátov vzniklo postupne vďaka rôzne implementácii v operačných systémoch alebo aplikáciách, niektoré boli štandardizované v RFC.

CSR (.csr)

Certificate Signing Request (CSR) je žiadosť o certifikát, ktorá sa odovzdáva certifikačnej autorite k ocertifikování. Žiadosť možno generovať priamo na serveri, v aplikáciu OpenSSL alebo si ju môžete po objednaní SSL certifikátu jednoducho vygenerovať v detaile objednávky podľa tohto návodu včetně privátního klíče. Formát žiadosti je podľa PKCS #10 (Public Key Cryptography Standards) a je definovaný v dokumente RFC 2986 (Certification Request Syntax Specification). CSR žiadosť v sebe obsahuje potrebné informácie k vystavenie certifikátu. Teda názov domény, organizáciu, štát a tiež verejný kľúč, ktorý certifikačná autorita potvrdzuje. Formát kódovania žiadosti CSR, ktorá sa vkladá do objednávky a odosiela certifikačnej autorite je PEM. Štruktúra informácií v žiadosti je definovaná pomocou ASN.1 (abstraktné syntaxové notácie).
Po vystavení a podpísaní certifikátu certifikačnou autoritou je už certifikát dodávaný od autority v iných formátoch, napríklad CRT, p7b. Často je tiež rovno zasielaný e-mailom v txt formáte PEM, súčasne s informácií o vystavenie SSL certifikátu.

Žiadosť o certifikát a privátny kľúč neodporúčame vytvárať na neznámych stránkach on-line. V našej nápovede publikujeme návod ako na generovanie CSR a privátneho kľúča v OpenSSL.

PEM (.pem)

Jeden z najpoužívanejších formátov pre uloženie SSL/TLS certifikátov. Jedná sa o kontajner pre uchovávanie textovo kódovaných kryptografických dát (kľúčov a certifikátov) a umožňuje jednoduché odosielanie elektronickou poštou, je definovaný v RFC 1421 až 1424. Môže obsahovať samostatný verejný certifikát, ale aj verejný certifikát plus certifikáty CA alebo môže obsahovať celý súbor certifikátov vrátane verejného kľúča, súkromného kľúča a koreňových certifikátov vystavujúci certifikačnej autority. Vo formáte PEM sa tiež dodáva žiadosť o certifikát CSR (Certificate Signing Request), ktorá sa prenášajú z formáte PKCS10.
Názov vznikol zo skratky Privacy-enhanced Electronic Mail (PEM), čo bol štandard pre zabezpečenie elektronickej pošty. Hlavnou podstatou PEM formátu je prekódovanie binárneho formátu (teda jednotiek a núl) metódou base64 a pridanie informatívny hlavičky a pätičky typu ----- BEGIN PRIVATE KEY ----- a ----- END PRIVATE KEY ----- alebo ----- BEGIN CERTIFICATE ----- a ----- END CERTIFICATE -----.

Ukážka vystaveného certifikátu vo formáte PEM

-----BEGIN CERTIFICATE-----
MIIF+TCCBOGgAwIBAgIRAOUXUXsbB/LpS0VTQsz/HFcwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xOTAxMTcwMDAwMDBaFw0xOTA0MTcyMzU5NTlaMFAxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDERMA8GA1UECxMIRnJlZSBTU0wxGDAWBgNV
BAMTD3dlYi1zZWN1cml0eS5jejCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMNC5twUz78YyvW9Y+avpBZLZjGFLZbNZN3tukWL/1wuwLUrhuCju1IDXWnJ
a7vu4IFA/m/fgD68Y+I6BEF/tdw94TGc/X0n+Q326ZB3ff8e5+GF2o2oXQCUEX60
wGv17zIx8jCYZtaP9rWekUzWmkNPagImboWeYSLWkt7GvdJCU7VY8kpKm7Y/JF/P
Qs4Z5+d4HMsfknJ+PofI7Ve3wT0aPE4aiQ3+MWryxcnZYzH7xNpeB7UbkfFIeDki
4X1vkVFM2Do07IkY9dO8d0UNI3lDDJDpxCCW4kVOl8yQTRtmyPZmtXk5uoyFcCEh
KP5/T2gxNr9KNzIornE0F7LZfpMCAwEAAaOCAowwggKIMB8GA1UdIwQYMBaAFI2M
XsRUrYrhd+mb+ZsF4bgBjWHhMB0GA1UdDgQWBBSHdiVoz7sMpYkdFsQWYHoMcJZU
IzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICBzAlMCMGCCsG
AQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwgYQGCCsG
AQUFBwEBBHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggr
BgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wLwYDVR0RBCgwJoIPd2Vi
LXNlY3VyaXR5LmN6ghN3d3cud2ViLXNlY3VyaXR5LmN6MIIBBAYKKwYBBAHWeQIE
AgSB9QSB8gDwAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e0YUAAAFo
Ww+ePQAABAMARzBFAiEAtZoULgmDyEppYK9nmDWNRjRGcE+BBo/DLaaoaYWg7C8C
IH+0UCda6Txcl05inAsMpzlePELyZ3hawgEdmMugK3bXAHYAdH7agzGtMxCRIZzO
JU9CcMK//V5CIAjGNzV55hB7zFYAAAFoWw+eiwAABAMARzBFAiEAmdEbql+1pWWf
HmpkY34JziCOQzaDlFVtUFen+blgIWwCIBVnwDD3vnwSsrO2T5Clo5Pjqa+xxU7O
trLo/ZRGkICBMA0GCSqGSIb3DQEBCwUAA4IBAQAzOM9lS3RSU7rLy8T3BfixHvua
ErZ+YOHCHpYhlCeSuFZ66jVHueYWvgfF8A+enRdMM0k0z0PC9enREnumNDq3msCf
WYhSLd5lDXiEddg2GCrXkwhOFfOiG0tywS5CD+hLsTq1LQkWDQg7EKlIb6ddhaZO
IYEQ9xwE7aehynQEvAjv3UyevMYfvw7glY+MW5bkMfsxPndDD1gDbnYt8kyenjcv
odjnkvTw4ngnCy1gF9mVWkgQsE1j34FER1bVtR/FlspI0FB+ogV4Qhso1N23DwtF
VDKxH8p+ddYh1LX4b6Oy3dZqzt4HOcunPKsFv36ABpeTs8FPOjgQueTWfHQ4
-----END CERTIFICATE-----

Tento textový reťazec si môžete dekódovať napríklad na stránke decoder, kde zistíte veľa informácií o certifikátu (platnosť, informácie v certifikátu, autorita a mnoho ďalšieho).

Súbory PEM sú zakódované v Base64 formáte, čo je kódovanie, ktoré prevádza binárne dáta na postupnosť tlačiteľných ASCII znakov (64 prvková sada znakov tvorená veľkými i malými písmenami anglickej abecedy, číslicami a znaky plus (+) a lomka (/). So súbory PEM sa veľmi jednoducho pracuje, lebo majú obsah v čitateľnom textovom formáte a možno ich otvoriť v akomkoľvek editore. Jednotlivé certifikáty sú potom jednoznačne oddelené hlavičkou a pätičkou. Viac o PEM formátu ve WIKI...

PFX (.pfx) / PKCS #12 formát

.pfx, ale aj .p12 alebo .pkcs12 sú formáty definované v Public-Key Cryptography Standards (PKCS štandardy). Ide o formát kontajnera s heslom, ktorý obsahuje verejné aj privátne certifikáty. Na rozdiel od súborov .pem je kontajner plne šifrovaný. PKCS #12 bol pôvodne súkromný štandard spoločnosti Microsoft, ktorý bol neskôr definovaný v RFC 7292. Poskytuje vylepšenú bezpečnosť oproti textovému formáte PEM.
S PFX formátom sa stretneme predovšetkým na Windows platforme. Ak sa negeneruje žiadosť o certifikát priamo v IIS (Internet Information System) je nutné dodať administrátorovi servera certifikát vo formáte PFX pre import na server. Pre tieto prípady publikujeme v pomocníkovi návod ako exportovať certifikát do PFX pomocou OpenSSL .
Do súboru .pfx sa tiež exportujú Code Signing certifikáty a elektronický podpis.

KEY (.key)

V súbore .key sa nachádza certifikát vo formáte PEM a obsahuje iba súkromný kľúč certifikátu. Privátny kľúč je zatvorený v reťazcoch ----- BEGIN PRIVATE KEY ----- a ----- END PRIVATE KEY -----. Tento súbor by mal ísť otvoriť v akomkoľvek textovom editore.
Pre .key formát nie je štandardizácia a jedná sa defakto o označenie súboru s privátnym kľúčom.

Súbor .key otevrený v Notepadu

DER (.der)

DER (Distinguished Encoding Rules). Binárny súbor (reťazec núl a jednotiek), ktorý obsahuje uložené informácie o certifikátu. Obsahuje SSL certifikát či celú cestu root-chain (intermediate certifikáty) a môže obsahovať tiež privátny kľúč. Je používaný v Unixovom svete alebo na Java platformách, vo Windows je súbor .der automaticky považovaný za nositeľa certifikátov. DER je defakto binárna verzia PEM súboru kódovaného base64.

CRT (.crt)

Súbor .crt obsahuje SSL certifkát vo formáte PEM. Možno ich otvoriť akýmkoľvek textovým editorom a certifikát je uzavretý v značkách ----- BEGIN CERTIFICATE ----- a ----- END CERTIFICATE -----.
V OS Windows sa pri poklepaní na súbor a odsúhlasení varovanie, automaticky otvorí okno s detailom certifikátu. Ak premenujete súbor .crt na .txt, poklepaním sa otvorí textový editor s obsahom vo formáte PEM.

CRT súbory vystaveného SSL certifikátu

P7B (.p7b)

Formát P7B obsahuje verejný kľúč a medzistanici certifikáty (intermediate) od certifikačnej autority. Neobsahuje privátny kľúč. Formát P7B/PKCS #7 je uložený vo formáte Base64 ASCII a súbor má príponu .p7b alebo .p7c. Definované v RFC 2315 ako PKCS číslo 7. Formát používaný systémom Windows. Java využíva .keystore. U týchto kontajnerov je možné definovať hierarchiu certifikátov.

Ďalšie typy súborov a formátov

CER (.cer), CERT (.cert)

Ide o inú príponu súborov typu .pem.

CRL

Certificate Revocation List (CRL) - zoznam zrušených certifikátov. Certifikačnej autority v týchto zoznamoch publikujú zoznamy zrušených certifikátov.

RFC 7468

V navrhovanom štandarde RFC 7468 (Textual Encodings of PKIX, PKCS, and CMS Structures) je popisované a štandardizované textové kódovanie PKI (Public-Key Infrastructure X.509), PKCS (Public-Key Cryptography Standards) a CMS (Cryptographic Message Syntax).

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