1️⃣ Was ist das PEM-Format?
PEM (Privacy-Enhanced Mail) ist ein Textformat, das zum Speichern und Übertragen von Schlüsseln und Zertifikaten verwendet wird. Es kodiert binäre DER-Daten Base64 und umschließt sie mit Kopf- und Fußzeilen-----BEGIN <LABEL>-----und-----END <LABEL>-----. Zu den gängigen Bezeichnungen gehören:PUBLIC KEY, PRIVATE KEYundCERTIFICATE. Es lässt sich leicht kopieren, einfügen und in textbasierten Arbeitsabläufen übertragen und ist damit eines der gebräuchlichsten Schlüsselaustauschformate.
2️⃣ Welche anderen Formate sind neben PEM üblich?
- DER: ein reines Binärformat, das ASN.1-Strukturen direkt speichert. Es ist nicht für Menschen lesbar und kommt in Java-Ökosystemen häufig vor.
- HEX: Drückt DER-Binärinhalte als hexadezimale Zeichenfolge aus, nützlich zum Debuggen oder Einbetten in Code.
- Base64 (ohne Header): Roh-DER, codiert als Base64 ohne PEM-Header, wird häufig in kompakten Konfigurationen oder Token-Nutzlasten verwendet.
- PKCS#12 (PFX): ein binäres Containerformat, das öffentliche und private Schlüssel bündeln kann, normalerweise durch ein Passwort geschützt und häufig von Browsern oder Windows-Systemen verwendet wird.
3️⃣ Wann sollten Sie jedes Format verwenden?
- PEM: die universellste Option, geeignet für OpenSSL, Webserver (Nginx/Apache) und API-Austausch.
- DER: Wird häufig in Java-Umgebungen verwendet oder dort, wo eine strikte Binärspeicherung erforderlich ist.
- HEX: nützlich beim Debuggen, in eingebetteten Systemen oder immer dann, wenn eine genaue Byte-Inspektion erforderlich ist.
- Base64 (ohne Header): nützlich, wenn die Formatierung eingeschränkt ist oder eine kompakte Darstellung erforderlich ist.
- PKCS#12: nützlich, wenn sowohl öffentliche als auch private Schlüssel zusammen transportiert werden müssen und gleichzeitig der private Schlüssel mit einem Passwort geschützt wird.