Převod CRT na PEM
Konverze binárního bezpečnostního certifikátu CRT do textového formátu PEM kódovaného v Base64 zajišťuje jeho kompatibilitu s webovými servery Apache, Nginx a moderními systémy Linux.
Porovnání formátů a technické specifikace
| Specifikace | CRT | PEM |
|---|---|---|
| MIME typ | application/ | application/ |
| Typ | veřejný certifikát X.509 | kontejner certifikátů Base64 ASCII |
| Komprese | žádná | žádná (zakódováno v Base64) |
| Standardní specifikace | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| Hlavička souboru (Magic bytes) | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) | 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 chrání data přenášená mezi webovými prohlížeči a servery. Soubor CRT často využívá binární formát zvaný DER nebo může mít podobu obyčejného textového souboru. Mnoho linuxových webových serverů, služeb pro vyvažování zátěže (load balancers) a e-mailových klientů však vyžaduje, aby bezpečnostní certifikáty používaly formát PEM. Soubory PEM využívají standardní textové znaky a uzavírají bezpečnostní data do specifických hraničních značek. S tímto požadavkem na formát se systémoví administrátoři běžně setkávají při přesunu bezpečnostních certifikátů z prostředí Windows do systémů Linux. Webové servery Apache a Nginx očekávají, že veřejný a soukromý klíč budou uloženy v textových souborech PEM. Konverze certifikátu CRT zaručuje, že serverový software dokáže během SSL handshake správně přečíst kryptografická data.
Technické specifikace a přehled kodeků
Soubor CRT používá typ MIME application/x-x509-ca-cert. Pokud je uložen ve formátu DER, obsahuje surová binární data, nebo text, pokud byl exportován z určitých certifikačních autorit. Formát PEM používá typ MIME application/x-pem-file. Zkratka PEM znamená Privacy Enhanced Mail a slouží jako kontejnerový formát pro uložení kryptografických klíčů. Žádný z formátů nevyužívá kompresi, takže konverze nesnižuje kvalitu souboru. Binární soubor CRT neobsahuje žádný čitelný text, zatímco soubor PEM se vyznačuje čitelnými hlavičkami jako -----BEGIN CERTIFICATE-----, za nimiž následují znaky Base64 ASCII a koncová značka -----END CERTIFICATE-----. Konverze jednoduše převádí surové bajty na čitelný text ASCII, aniž by se měnila základní matematika veřejného klíče.
Kompatibilita s operačními systémy a prohlížeči
Přípony souborů certifikátů samy neurčují, zda je obsah zakódován jako DER, nebo PEM. Podpora závisí na aplikaci a očekávaném kódování. OpenSSL a mnoho serverových nástrojů přijímá vstup PEM, zatímco nástroje pro certifikáty ve Windows běžně pracují s certifikáty X.509 v podporovaných kódováních a kontejnerech.
Užitečné informace
Než restartujete produkční webový server, vždy pomocí příkazů OpenSSL ověřte, že váš soukromý klíč odpovídá nově konvertovanému certifikátu PEM.
Často kladené otázky
Jak převést certifikát CRT na certifikát PEM bez ztráty kvality?
CRT a PEM jsou přípony souborů, nikoli pevně daná kódování. Pokud jde o podporovaný certifikát, převod změní jeho serializaci nebo obal; před nasazením ověřte, že výstup obsahuje tentýž certifikát.
Jaký je rozdíl mezi certifikátem CRT a certifikátem PEM?
CRT je přípona souborů používaná pro certifikáty, které mohou být zakódovány jako DER nebo PEM. PEM je textové kódování Base64 s ohraničujícími štítky. Skutečné kódování je třeba určit podle obsahu souboru, nikoli odvozovat pouze z jeho přípony.