Alle SSL-Artikel SSL & Zertifikate

SSL-Zertifikatsformate: PEM, PFX, DER erklaert

SSL-Zertifikate und private Schluessel koennen in verschiedenen Dateiformaten gespeichert werden. Der Inhalt ist derselbe — nur die Kodierung und Verpackung unterscheiden sich. Die meiste Verwirrung entsteht, wenn ein bestimmtes Format fuer Ihren Server benoetigt wird.

Formatvergleich

FormatEndungKodierungEnthaeltVerwendet von
PEM.pem, .crt, .cer, .keyBase64 (Text)Zertifikat, Schluessel oder Kette (eins pro Datei)Nginx, Apache, die meisten Linux-Server
DER.der, .cerBinaerEinzelnes Zertifikat oder SchluesselJava, einige Windows-Apps
PFX/PKCS#12.pfx, .p12BinaerZertifikat + Schluessel + Kette in einer DateiWindows IIS, Azure, macOS Schluesselund

PEM — das gaengigste Format

PEM (Privacy Enhanced Mail) ist base64-kodierter Text. Sie koennen es in einem Texteditor oeffnen:

-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwIBAgISA8ht...
(base64-kodierte Daten)
-----END CERTIFICATE-----

PEM-Dateien koennen Zertifikate, private Schluessel oder Zertifikatsketten enthalten. Die Kopfzeile verraet, was drin ist:

  • BEGIN CERTIFICATE — ein Zertifikat
  • BEGIN PRIVATE KEY — ein privater Schluessel (oder BEGIN RSA PRIVATE KEY / BEGIN EC PRIVATE KEY)
  • BEGIN CERTIFICATE REQUEST — ein CSR

GetHTTPS gibt PEM-Format ausprivkey.pem, cert.pem, chain.pem, fullchain.pem.

DER — binaere Kodierung

DER ist die binaere Form derselben Daten, die PEM als Text kodiert. Es ist nicht menschenlesbar. Wird hauptsaechlich von Java-Anwendungen (keytool) und einigen Windows-Komponenten verwendet.

PFX/PKCS#12 — gebuendeltes Format

PFX (Personal Information Exchange) buendelt das Zertifikat, den privaten Schluessel und die Kette in einer einzelnen passwortgeschuetzten Datei. Windows IIS, Azure App Service und der macOS Schluesselbund erfordern dieses Format.

Zwischen Formaten konvertieren

Alle Konvertierungen verwenden OpenSSL:

PEM → PFX

openssl pkcs12 -export \
  -out certificate.pfx \
  -inkey privkey.pem \
  -in cert.pem \
  -certfile chain.pem

Sie werden aufgefordert, ein Export-Passwort festzulegen.

PFX → PEM

# Zertifikat extrahieren
openssl pkcs12 -in certificate.pfx -clcerts -nokeys -out cert.pem

# Privaten Schluessel extrahieren
openssl pkcs12 -in certificate.pfx -nocerts -nodes -out privkey.pem

# Kette extrahieren
openssl pkcs12 -in certificate.pfx -cacerts -nokeys -out chain.pem

PEM → DER

openssl x509 -in cert.pem -outform DER -out cert.der

DER → PEM

openssl x509 -in cert.der -inform DER -outform PEM -out cert.pem

Welches Format brauche ich?

Server/PlattformFormatBenoetigte Dateien
NginxPEMfullchain.pem + privkey.pem
ApachePEMcert.pem + chain.pem + privkey.pem
IIS (Windows)PFXcertificate.pfx (aus PEM konvertieren)
Azure App ServicePFXcertificate.pfx
AWS (ACM)PEMcert.pem + chain.pem + privkey.pem (in die Konsole einfuegen)
Java (Tomcat)JKS oder PFXPEM → PFX → JKS mit keytool konvertieren
Node.jsPEMDateien direkt im Code lesen

Wie Sie das Format einer Datei erkennen

Nicht sicher, welches Format eine Datei hat? Pruefen Sie:

# Wenn sie mit "-----BEGIN" beginnt -- es ist PEM (Base64-Text)
head -1 mystery-file.pem

# Wenn sie binaer ist (unlesbarer Text) -- es ist DER oder PFX
file mystery-file.cer
# Ausgabe wie "data" oder "certificate" = DER
# Ausgabe wie "PKCS12" = PFX

# Ein PEM-Zertifikat untersuchen
openssl x509 -in cert.pem -noout -text

# Ein DER-Zertifikat untersuchen
openssl x509 -in cert.der -inform DER -noout -text

# Eine PFX-Datei untersuchen
openssl pkcs12 -in cert.pfx -info -nokeys

Haeufige Verwirrung bei Dateiendungen

EndungBedeutet meistensKoennte aber sein
.pemPEM (Base64)Immer PEM
.crtPEM-ZertifikatDER unter Windows
.cerPEM-ZertifikatDER unter Windows
.keyPEM privater SchluesselDER (selten)
.pfxPKCS#12-BuendelImmer PFX
.p12PKCS#12-BuendelImmer PFX (dasselbe wie .pfx)
.derDER (binaer)Immer DER
.jksJava KeyStoreImmer JKS

Faustregel: Oeffnen Sie die Datei in einem Texteditor. Wenn Sie -----BEGIN CERTIFICATE----- sehen, ist es PEM, unabhaengig von der Endung. Wenn Sie binaeren Datenmist sehen, ist es DER oder PFX.

Haeufig gestellte Fragen

Was ist der Unterschied zwischen .crt, .cer und .pem?

Alle koennen im PEM-Format vorliegen. Die Endung ist eine Namenskonvention, kein Formatindikator. .crt und .cer werden haeufig fuer Zertifikatsdateien verwendet, .pem fuer jede PEM-kodierte Datei. Unter Windows sind .cer-Dateien manchmal DER-kodiert — oeffnen Sie sie in einem Texteditor, um es zu pruefen.

Warum gibt mir GetHTTPS 4 Dateien?

Maximale Kompatibilitaet. GetHTTPS stellt bereit: privkey.pem (privater Schluessel), cert.pem (nur Ihr Zertifikat), chain.pem (Intermediate-CA-Zertifikat), fullchain.pem (Zertifikat + Kette kombiniert). Nginx benoetigt fullchain.pem; Apache benoetigt separate cert.pem + chain.pem; IIS benoetigt PFX (aus PEM konvertieren).

Wie erstelle ich eine PFX fuer Windows/IIS?

Verwenden Sie den OpenSSL-Befehl PEM → PFX oben. Sie benoetigen privkey.pem, cert.pem und chain.pem von GetHTTPS. Die resultierende .pfx kann in IIS, Azure App Service oder den macOS Schluesselbund importiert werden.

Kann ich von einem Format in ein anderes konvertieren ohne den privaten Schluessel?

Sie koennen das Zertifikat zwischen PEM und DER ohne den privaten Schluessel konvertieren. Aber das Erstellen einer PFX erfordert den privaten Schluessel (sie buendelt Zertifikat + Schluessel zusammen). Wenn Sie Ihren privaten Schluessel verloren haben, muessen Sie ein neues Zertifikat erzeugen.

Welches Format verwendet Let’s Encrypt?

Let’s Encrypt (ueber jeden ACME-Client einschliesslich GetHTTPS) gibt PEM-Format aus. Wenn Sie ein anderes Format fuer Ihren Server benoetigen, konvertieren Sie mit den oben genannten OpenSSL-Befehlen.

Verwandte Artikel

Bereitstellung 2026-05-08
So installieren Sie ein SSL-Zertifikat auf Nginx
Schritt-für-Schritt-Anleitung zur Installation eines SSL-Zertifikats auf Nginx. Behandelt Dateiupload, vollständige Serverblock-Konfiguration, TLS Best Practices, HTTP/2, HSTS, Weiterleitungs-Setup, Tests und Fehlerbehebung für 6 häufige Fehler.
Bereitstellung 2026-05-08
So installieren Sie ein SSL-Zertifikat auf Apache
Schritt-für-Schritt-Anleitung zur Installation eines SSL-Zertifikats auf Apache mit mod_ssl. Behandelt Datei-Upload, VirtualHost-Konfiguration, TLS-Best-Practices, HSTS, HTTP-Weiterleitung und Fehlerbehebung für 5 häufige Fehler.
SSL & Zertifikate 2026-05-07
Was ist ein CSR (Certificate Signing Request)?
Ein CSR ist eine Nachricht, die an eine Zertifizierungsstelle gesendet wird, um ein SSL-Zertifikat anzufordern. Erfahren Sie, was ein CSR enthaelt, wie er erstellt wird und warum GetHTTPS dies automatisch erledigt.
Kostenloses SSL-Zertifikat im Browser erhalten
Keine Installation, kein Konto. Ihr privater Schlüssel verlässt nie Ihr Gerät.
Zertifikat erhalten