Konvertor balíčků PKCS #12 na certifikát PEM
Konverze balíčku PKCS #12 na certifikát PEM extrahuje vaše veřejné a soukromé klíče ze zamčeného binárního archivu do souborů s prostým textem pro webové servery.
Porovnání formátů a technické specifikace
| Specifikace | P12 | PEM |
|---|---|---|
| MIME typ | application/x-pkcs12 | application/x-pem-file |
| Typ | PKCS #12 encrypted archive | Base64 ASCII certificate container |
| Komprese | password encrypted PKCS #7 safe bags | none (Base64 armored) |
| Standardní specifikace | IETF RFC 7292 | IETF RFC 7468 |
| Hlavička souboru (Magic bytes) | 30 82 (ASN.1 PKCS #12 PFX sequence) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
Přehled formátu a použití
Administrátoři bezpečnosti často konvertují soubory P12 do formátu PEM při nasazování certifikátů SSL na webové servery Apache, Nginx nebo HAProxy. Zatímco prohlížeče a operační systémy používají kontejnery P12 k snadné instalaci uživatelských identit a soukromých klíčů do úložišť osobních certifikátů, webové servery založené na systému Linux obvykle vyžadují samostatné soubory s prostým textem pro veřejný certifikát, mezilehlý řetězec a soukromý klíč. Tato transformace umožňuje serverovému softwaru číst bezpečnostní údaje přímo, aniž by při každém spuštění služby vyžadoval heslo pro dešifrování. Dalším běžným pracovním postupem jsou integrace rozhraní API a kontejnerizované mikroslužby. Automatizované kanály nasazení se často spoléhají na soubory s prostým textem vložené prostřednictvím proměnných prostředí nebo připojení konfiguračních svazků. Konverze binárního balíčku P12 na samostatné soubory PEM zajišťuje kompatibilitu s moderními nástroji pro orchestraci cloudu, které parsují standardní textové bloky chráněné kódem Base64.
Technické specifikace a přehled kodeků
Soubor PKCS #12 (typ MIME application/x-pkcs12) je binární archivní formát založený na syntaxi ASN.1. Využívá šifrování založené na hesle pomocí algoritmů jako Triple DES nebo AES k ochraně soukromých klíčů a certifikátů uvnitř zabezpečených úložišť (safe bags). Neobsahuje žádnou specifickou hlavičku s magickými bajty, ale obvykle začíná značkou ASN.1 SEQUENCE (0x30). Naopak soubor PEM (typ MIME application/x-pem-file) používá kódování Base64 ASCII zabalené mezi řádky oddělovačů, jako jsou -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----. Formát PEM nepoužívá interní kompresi. Místo toho spoléhá na jednoduché textové rámování, díky čemuž je zcela bezeztrátový, protože základní materiál kryptografického klíče zůstává po extrakci matematicky identický.
Kompatibilita s operačními systémy a prohlížeči
Certifikáty PEM se těší univerzální kompatibilitě ve všech hlavních serverových prostředích Unix a Linux, včetně kontejnerů Ubuntu, Red Hat, CentOS a Alpine Docker. Jsou nativně čteny nástroji OpenSSL, Apache HTTP Server, Nginx a Postfix. Na druhou stranu balíčky P12 jsou silně podporovány klientskými systémy, jako je Správce certifikátů Windows, Klíčenka macOS, iOS a Android pro import přihlašovacích údajů k osobní autentizaci. Webové prohlížeče jako Chrome, Firefox a Safari akceptují soubory P12 pro ověřování klientskými certifikáty, ale webové servery vyžadují ekvivalenty PEM.
💡 Užitečné informace
Extrahovaný soubor PEM se soukromým klíčem vždy chraňte přísnými oprávněními souborů, jako je chmod 600 v systému Linux, protože odstranění obalu binárního hesla odhalí surový text klíče.
Porovnání formátů a technické specifikace
Typický balíček P12 a jeho výsledná sada souborů certifikátu PEM se pohybují ve velikosti od 2 KB do 10 KB. Při těchto nepatrných velikostech souborů jsou přenosové časy v sítích 4G, 5G a v optických sítích prakticky okamžité a nahrání nebo stažení trvá méně než jednu milisekundu.
Často kladené otázky
Jak převést balíček PKCS #12 na certifikát PEM bez ztráty kvality?
Tato konverze je striktně bezeztrátová, protože mění pouze formát kontejneru a kódování. Kryptografické klíče a veřejné certifikáty uvnitř binárních bezpečnostních schránek P12 jsou extrahovány a přezakódovány do textu Base64 ASCII, aniž by byla změněna jakákoli podkladová matematická data.
Jaký je rozdíl mezi balíčkem PKCS #12 a certifikátem PEM?
Balíček PKCS #12 je jediný binární archiv, který společně ukládá veřejné certifikáty, mezilehlé řetězce a soukromé klíče chráněné jediným heslem. Certifikát PEM je soubor v prostém textu zabezpečený formátem Base64, který obvykle obsahuje pouze jednu část řetězce certifikátu, což webovým serverům umožňuje číst bezpečnostní přihlašovací údaje přímo.