SSLmentor

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

Formáty certifikátů

V souvislosti s SSL certifikáty je zmiňován poměrně veký počet názvů jako PEM, CSR, KEY, DER atd. Jedná se o soubory, které jsou prakticky pouze "schránky" pro umístění certifikátu a jeho klíčů. Velké množství formátů vzniklo postupně díky různé implementaci v operačních systémech nebo aplikacích, některé byly standardizovány v RFC.

CSR (.csr)

Certificate Signing Request (CSR) je žádost o certifikát, která se předává certifikační autoritě k ocertifikování. Žádost lze generovat v aplikacích jako OpenSSL nebo si ji můžete pro doménu jednoduše vygenerovat v detailu objednávky. Formát žádosti je PKCS10 a je definován v dokumentu RFC 2986 (Certification Request Syntax Specification). CSR v sobě obsahuje potřebné informace k vystavení certifikátu. Tedy název domény, organizaci, stát a také veřejný klíč, který certifikační autorita podepisuje. Formát kódování žádosti CSR, která se vkládá do objednávky a odesílá certifikační autoritě je PEM. Struktura informací v žádosti je definovaná pomocí ASN.1 (abstraktní syntaxová notace).
Po vystavení a podepsání certifikátu certifikační autoritou je již certifikát dodáván od autority v jiných formátech, například CRT, p7b. Často je také rovnou zasílán e-mailem v txt formátu PEM, současně s informací o vystavení SSL certifikátu.

V nápovědě publikujeme návod jak na generování CSR a privátního klíče v OpenSSL.

PEM (.pem)

Jeden z nejpoužívanějších formátů pro uložení SSL/TLS certifikátů. Jedná se o kontejner pro uchovávání kryptografických dat (klíčů a certifikátů) a umožňuje snadné odesílání elektronickou poštou, je definovaný v RFC 1421 až 1424. Může obsahovat veřejný certifikát i veřejný certifikát plus certifikáty CA nebo může obsahovat celý soubor certifikátů včetně veřejného klíče, soukromého klíče a kořenových certifikátů vystavující autority. Ve formátu PEM může být i žádost o certifikát CSR, neboť je možné formát PKCS10 převést do PEM.
Název vznikl ze zkratky Privacy-enhanced Electronic Mail (PEM), což byl standard pro zabezpečení elektronické pošty. Hlavní podstatou PEM formátu je překódování binárního formátu (tedy jedniček a nul) metodou base64 a přidání informativní hlavičky a patičky typu -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY----- nebo -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----.

Soubory PEM jsou zakódované v Base64 formátu, což je kódování, které převádí binární data na posloupnost tisknutelných ASCII znaků (64 prvková sada znaků tvořená velkými i malými písmeny anglické abecedy, číslicemi a znaky plus (‚+‘) a lomítko (‚/‘). Více o PEM formátu ve WIKI...

KEY (.key)

.key soubor je ve formátu PEM a obsahuje pouze soukromý klíč certifikátu. Privátní klíč je uzavřen v řetězcích -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY-----.
Pro .key formát není standardizace.

Soubor .key otevřený v Notepadu

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

.pfx, ale také .p12 nebo .pkcs12 jsou formáty definované v Public-Key Cryptography Standards (PKCS standardy). Jedná se o formát kontejneru s heslem, který obsahuje veřejné i privátní certifikáty. Na rozdíl od souborů .pem je kontejner plně šifrován. PKCS12 byl původně soukromý standard společnosti Microsoft, který byl později definován v RFC 7292. Poskytuje vylepšenou bezpečnost oproti textovému formátu PEM.
V nápovědě publikujeme návod jak exportovat certifikát do PFX pomocí OpenSSL.

DER (.der)

DER (Distinguished Encoding Rules). Binární soubor (řetězec nul a jedniček), který obsahuje uložené informace o certifikátu. Obsahuje SSL certifikát či celou cestu root-chain (intermediate certifikáty) a může obsahovat také privátní klíč. Je používán v Unixovém světě nebo na Java platformách, ve Windows je soubor .der automaticky považován za nositele certifikátů. DER je defakto binární verze PEM souboru kódovaného base64.

CRT (.crt)

Soubor .crt obsahuje SSL certifkát ve formátu PEM. Lze je otevřít jakýmkoliv textovým editorem a certifikát je uzavřen ve značkách -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----.
V OS Windows se při poklepání na soubor a odsouhlasení varování, automaticky otevře okno s detailem certifikátu. Přejmenujete-li soubor .crt na .txt, poklepáním se otevře textový editor s obsahem ve formátu PEM.

CRT soubory vystaveného SSL certifikátu

PB7 (.pb7)

Formát PB7 obsahuje veřejný klíč a mezilehlé certifikáty (intermediate) od certifikační autority. Neobsahuje privátní klíč. Formát P7B/PKCS#7 je uložen ve formátu Base64 ASCII a soubor má příponu .p7b nebo .p7c. Definované v RFC 2315 jako PKCS číslo 7. Formát používaný systémem Windows. Java využívá .keystore. U těchto kontejnerů je možné definovat hierarchii certifikátů.

Další typy souborů

CER (.cer), CERT (.cert)

Jedná se o jinou příponu souborů typu .pem.

CRL

Certificate Revocation List (CRL) - seznam zneplatněných certifikátů. Certifikační autority v těchto seznamech publikují seznamy zneplatněných certifikátů.