Konvertor z binárního formátu DER na PEM certifikát
Konverze certifikátu v binárním formátu DER na PEM certifikát mění jeho kódování ze surových binárních bajtů na text Base64 ASCII, takže jej mohou snadno číst webové servery a textové editory.
Porovnání formátů a technické specifikace
| Specifikace | DER | PEM |
|---|---|---|
| MIME typ | application/x-x509-ca-cert | application/x-pem-file |
| Typ | binary ASN.1 DER certificate | Base64 ASCII certificate container |
| Komprese | none (compact binary) | none (Base64 armored) |
| Standardní specifikace | ITU-T X.690 / RFC 5280 | IETF RFC 7468 |
| Hlavička souboru (Magic bytes) | 30 82 (ASN.1 DER Sequence Header) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
Přehled formátu a použití
Bezpečnostní certifikáty vytvářejí důvěru a šifrují data v sítích. Formát DER ukládá data certifikátu jako surová binární data podle pravidel ASN.1. Přestože jsou surové binární soubory efektivní pro hardware s omezenou pamětí, špatně se s nimi manipuluje v textových konfiguračních souborech serveru. Systémoví administrátoři často potřebují zkontrolovat nebo vložit data certifikátu přímo do konfiguračních skriptů pro nástroje jako Apache, Nginx nebo OpenSSL. Transformace souboru do kontejneru PEM tento problém řeší. PEM je zkratka pro Privacy Enhanced Mail, i když se dnes běžně používá pro všechny typy kryptografických klíčů a certifikátů. Tento kontejner zabalí binární data do textu Base64 a přidá jasné ohraničující značky. Tyto značky usnadňují určení, kde certifikát začíná a končí, což zabraňuje chybám při kopírování a vkládání během nastavování serveru.
Technické specifikace a přehled kodeků
Binární formát DER používá MIME typ application/x-x509-ca-cert a ukládá data v kompaktním binárním formátu bez komprese. Nemá žádné textové hlavičky, což znamená, že k čtení jeho surových bajtů je nutný hexadecimální editor. Naproti tomu PEM používá MIME typ application/x-pem-file a zabalí naprosto stejná základní data certifikátu do textové struktury. Soubor PEM začíná lidsky čitelným řádkem hlavičky '-----BEGIN CERTIFICATE-----', za nímž následují řádky textu kódovaného v Base64 a končí řádkem '-----END CERTIFICATE-----'. Žádný formát nepoužívá kompresi. Oba formáty ukládají úplně stejná data kryptografického veřejného klíče, díky čemuž je konverze zcela bezeztrátová.
Kompatibilita s operačními systémy a prohlížeči
Soubory DER jsou nativně podporovány prostředími Java, úložišti klíčů pro Android a nástroji pro správu certifikátů ve Windows. Soubory PEM jsou absolutním standardem pro linuxové webové servery, Apache, Nginx, příkazové řádky OpenSSL a cloudové load balancery. Moderní webové prohlížeče a operační systémy zpracovávají oba formáty interně během handshaku SSL/TLS, ale software pro správu serverů silně preferuje textové bloky ve formátu PEM.
💡 Užitečné informace
Uchovávejte nezašifrovanou zálohu původního binárního souboru DER v offline úložišti. Jelikož je konverze do formátu PEM plně bezeztrátová, můžete svůj textový soubor PEM kdykoli znovu vygenerovat z hlavního binárního souboru bez jakéhokoli snížení bezpečnosti.
Porovnání formátů a technické specifikace
Typický bezpečnostní certifikát je velmi malý, obvykle má velikost mezi 1 kilobajtem a 4 kilobajty. Při konverzi do textového souboru PEM založeného na Base64 se velikost zvětší přibližně o 33 procent kvůli režii kódování textu. I přes toto mírné zvětšení se 4kilobajtový certifikát přenese za méně než milisekundu přes standardní 4G síť, 5G připojení nebo domácí optickou linku.
Často kladené otázky
Jak převést binární formát DER na PEM certifikát bez ztráty kvality?
Konverze je zcela bezeztrátová, protože oba formáty obsahují naprosto stejný kryptografický veřejný klíč a metadata. Překlad souboru mění pouze vnější obal ze surových binárních bajtů na text Base64, přičemž základní bezpečnostní data zůstávají nedotčena.
Jaký je rozdíl mezi binárním formátem DER a PEM certifikátem?
Binární formát DER je kompaktní binární formát čitelný pro stroje bez hlaviček, zatímco PEM je textový formát kódovaný v Base64, zabalený mezi specifické počáteční a koncové hraniční řádky pro snadné čtení lidmi a serverovým softwarem.