suche
ESC

X.509 & Zertifikate

Zertifikatsfelder, SAN, Gültigkeit und Key-Usage lesen und bewerten.

Second-Level Security 30 Min +150 XP

Worum geht’s

Ein Zertifikat ist der Ausweis eines Servers. Wenn der Browser „Name stimmt nicht überein” oder „abgelaufen” meldet, liegt die Antwort in den X.509-Feldern. Im Second-Level dekodiert man Zertifikate und CSRs, prüft Subject/SAN/Gültigkeit/Key-Usage und entscheidet, ob ein Zertifikat für einen Dienst taugt.

Konzept

Ein X.509-Zertifikat bindet einen öffentlichen Schlüssel an eine Identität, beglaubigt durch eine CA. Die wichtigsten Felder:

  • Subject — wem das Zertifikat gehört (CN = Common Name, früher der Hostname).
  • Issuer — welche CA es ausgestellt (bei selbstsigniert: Subject == Issuer).
  • Subject Alternative Name (SAN) — die maßgebliche Liste gültiger Hostnamen/IPs. Moderne Browser ignorieren den CN und prüfen nur den SAN. Ohne passenden SAN-Eintrag → Name-Mismatch.
  • Gültigkeit — Not Before / Not After. Außerhalb des Fensters ist das Zertifikat ungültig (häufigster Realfehler: abgelaufen).
  • Key Usage / Extended Key Usage (EKU) — wofür der Schlüssel verwendet werden darf. Für TLS-Server muss serverAuth (EKU) gesetzt sein.
  • Serial / Fingerprint — eindeutige Kennung des Zertifikats.

Ein CSR (Certificate Signing Request, PKCS#10) ist der Antrag: Er enthält Subject, gewünschte SAN und den öffentlichen Schlüssel, signiert mit dem privaten Schlüssel. Die CA prüft ihn und stellt daraus das Zertifikat aus. Der private Schlüssel verlässt den CSR nie.

Beispiel-Fall

Aufgabe: Der Browser zeigt für https://shop.example.com einen Name-Mismatch. Das Zertifikat ist gültig und nicht abgelaufen. Woran liegt’s?

  1. Zertifikat dekodieren → Subject CN lesen: steht dort z. B. example.com.
  2. SAN-Liste prüfen — das ist entscheidend. Enthält sie www.example.com und example.com, aber nicht shop.example.com?
  3. Genau das ist der Fehler: Der aufgerufene Host steht nicht im SAN. Browser prüfen den Hostnamen nur gegen die SAN-Einträge, nicht gegen den CN.
  4. Lösung: Ein neues Zertifikat mit shop.example.com im SAN ausstellen (oder ein Wildcard-SAN *.example.com verwenden). Danach passt der Name.

Anwenden

▶ Am Tool ausprobieren

Brauchst du den Antrag statt des fertigen Zertifikats, nimm den CSR-Decoder — er zeigt Subject und gewünschte SAN aus dem PKCS#10-Request.

  1. Füge ein PEM-Zertifikat ein und dekodiere es.
  2. Lies Subject, Issuer und vor allem die SAN-Liste ab.
  3. Prüfe Not Before / Not After und die Key-Usage-Felder.
Tool öffnen: /zertifikat-decoder ↗

Selbsttest

Praxis-Challenge

⚑ Praxis-Challenge

Hole das Zertifikat einer Website (Browser → Zertifikatsdetails → PEM exportieren) und dekodiere es. Liste Subject, Issuer, alle SAN-Einträge und das Gültigkeitsfenster auf. Beantworte: Würde der aufgerufene Hostname gegen die SAN passen, und wie viele Tage läuft das Zertifikat noch?

Tool öffnen: /zertifikat-decoder ↗

Modul im Speedrun testen →