JWT-Signatur prüfen

JWT-Signatur prüfen im Browser: HS256 bis HS512 mit Secret, RS256, PS256, ES256 und EdDSA mit Public Key als PEM oder JWK, inklusive Ablaufzeit.

–

 

PrüfungErgebnis

Alles läuft in Ihrem Browser, Eingaben werden nicht übertragen. Nur zum Lernen und Testen: Verwenden Sie für echte Geheimnisse und Produktivsysteme geprüfte Werkzeuge Ihrer Organisation.

JWT verifizieren: so funktioniert es

Mit diesem Werkzeug können Sie eine JWT-Signatur prüfen, also feststellen, ob ein Token wirklich mit dem erwarteten Schlüssel signiert wurde und seit dem Signieren unverändert ist. Für HS256, HS384 und HS512 brauchen Sie das gemeinsame Secret. Für RS256, PS256, ES256 und EdDSA genügt der Public Key des Ausstellers, als PEM (SPKI oder PKCS#1) oder als JWK, zum Beispiel aus dem JWKS-Endpunkt Ihres Identity-Providers.

Die Prüfung läuft über WebCrypto: Das Werkzeug liest den Algorithmus aus dem Header, importiert den Schlüssel und lässt den Browser die Signatur über Header und Payload verifizieren. Die Beispiel-Knöpfe erzeugen bei RS256 und ES256 ein frisches Schlüsselpaar, signieren ein Token und tragen den Public Key ein. Ändern Sie danach ein Zeichen im Token, wird die Signatur ungültig.

Grenzen: Ein JWT verifizieren heißt mehr als die Signatur prüfen. Ihr Server sollte zusätzlich die Ablaufzeit, den Aussteller (iss) und den Empfänger (aud) kontrollieren und den Algorithmus fest vorgeben, statt ihn aus dem Header zu übernehmen. Tokens mit alg none werden hier grundsätzlich abgelehnt. EdDSA funktioniert nur in Browsern, die Ed25519 in WebCrypto unterstützen.

Anleitung: JWT-Signatur prüfen in 4 Schritten

  1. Das Token in das Feld „JWT“ einfügen oder mit „Beispiel HS256“, „Beispiel RS256“ oder „Beispiel ES256“ ein Testtoken erzeugen.
  2. Je nach Algorithmus das Secret (HS256/384/512) oder den Public Key als PEM oder JWK eintragen.
  3. Bei HS-Tokens die Secret-Kodierung wählen: Text (UTF-8), Base64 oder Base64URL, oder Hex.
  4. Im Ergebnis ablesen, ob die Signatur gültig ist und ob die Ablaufzeit bereits überschritten ist.

Typische Anwendungsfälle

  • Login-Fehler eingrenzen: Prüfen, ob ein abgelehntes Token falsch signiert oder nur abgelaufen ist.
  • Identity-Provider anbinden: Ein Token gegen den Public Key aus dem JWKS-Endpunkt von Keycloak, Auth0 oder Entra ID prüfen.
  • Schlüsselwechsel testen: Nach einer Rotation kontrollieren, ob neue Tokens mit dem neuen Public Key verifiziert werden.
  • Lernen: Mit einem Beispiel-Token ein Zeichen ändern und beobachten, wie die Signatur ungültig wird.
Fragen

Häufige Fragen

Warum ist meine Signatur ungültig, obwohl das Secret stimmt?

Häufig ist das Secret Base64-kodiert hinterlegt. Stellen Sie die Secret-Kodierung auf Base64 um. Auch ein abgeschnittenes Token oder ein Zeilenumbruch im Secret führen zu ungültigen Signaturen.

Woher bekomme ich den Public Key?

Identity-Provider veröffentlichen ihn meist als JWKS unter einer Adresse wie /.well-known/jwks.json. Sie können einen einzelnen JWK oder das ganze JWKS einfügen; verwendet wird der erste Schlüssel.

Was ist der Unterschied zwischen HS256 und RS256?

HS256 nutzt ein gemeinsames Secret, das Aussteller und Prüfer kennen. RS256 nutzt ein Schlüsselpaar: signiert wird mit dem privaten, geprüft mit dem öffentlichen Schlüssel.

Muss ich den privaten Schlüssel eingeben?

Nein, niemals. Zum Prüfen genügt der Public Key. Das Werkzeug lehnt private Schlüssel ab.

Ist ein abgelaufenes JWT trotzdem korrekt signiert?

Ja, Signatur und Ablaufzeit sind getrennte Prüfungen. Die Signatur kann gültig sein, während der Claim exp schon in der Vergangenheit liegt; ein Server muss das Token dann trotzdem ablehnen. Das Werkzeug zeigt beide Ergebnisse.

Was ist der Unterschied zwischen JWT dekodieren und JWT verifizieren?

Dekodieren macht Header und Payload lesbar, denn sie sind nur Base64URL-kodiert; dafür braucht man keinen Schlüssel. Verifizieren prüft mit Secret oder Public Key, ob die Signatur echt ist. Erst danach darf man dem Inhalt vertrauen.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge