# JWT-Generator

Erstelle ein signiertes JSON Web Token mit eigenen JSON-Claims. Wähle HS256, HS384 oder HS512 mit einem gemeinsamen Geheimnis, RS256 bis PS512 mit einem privaten RSA-Schlüssel, ES256 bis ES512 mit dem passenden EC-Schlüssel oder EdDSA mit einem Ed25519-Schlüssel im PEM- oder JWK-Format. Der Generator kann iat, exp und einen kid-Header hinzufügen, signiert mit der jose-Bibliothek und zeigt das kompakte Token neben dem dekodierten Header und Payload an.

## Häufig gestellte Fragen

### Welche Signaturalgorithmen kann ich verwenden?

Der Generator unterstützt HS256, HS384 und HS512 mit einem gemeinsamen Geheimnis, RS256, RS384, RS512, PS256, PS384 und PS512 mit einem privaten RSA-Schlüssel, ES256, ES384 und ES512 mit einem privaten EC-Schlüssel auf P-256, P-384 oder P-521 sowie EdDSA mit einem privaten Ed25519-Schlüssel. Der gewählte Algorithmus wird in den alg-Header geschrieben, und typ wird immer auf JWT gesetzt.

### Was gebe ich als Payload ein?

Gib ein JSON-Objekt mit deinen Claims ein, zum Beispiel sub, name, iss, aud oder ein beliebiges benutzerdefiniertes Feld. Arrays, Zeichenfolgen und andere Werte, die keine Objekte sind, werden abgelehnt, weil ein JWT-Payload ein JSON-Objekt sein muss. Reihenfolge und Werte der Claims bleiben genau so erhalten, wie du sie eingegeben hast.

### Wie wird das HMAC-Geheimnis eingelesen?

Bei HS256, HS384 und HS512 wird das Geheimnis als UTF-8-Text verwendet, nachdem Leerzeichen am Anfang und Ende entfernt wurden. Wenn dein Geheimnis aus Binärdaten besteht, füge es als JWK ein, zum Beispiel {"kty": "oct", "k": "..."}, wobei die Bytes in base64url codiert sind. Stattdessen werden dann die dekodierten Bytes verwendet. PEM-Schlüssel werden für HMAC-Algorithmen abgelehnt, da die Verwendung eines öffentlichen Schlüssels als HMAC-Geheimnis ein klassischer Fehler ist.

### Wie lang sollte ein HS256-Geheimnis sein?

RFC 7518 verlangt einen Schlüssel, der mindestens so lang ist wie die Hash-Ausgabe: also 32 Bytes für HS256, 48 für HS384 und 64 für HS512. Das Werkzeug signiert auch mit kürzeren Geheimnissen, damit du Test-Tokens reproduzieren kannst. Geheimnisse für den Produktionseinsatz sollten jedoch lang und zufällig sein, zum Beispiel aus dem Passwortgenerator.

### Welche Formate für private Schlüssel werden für RSA, EC und EdDSA akzeptiert?

Füge einen unverschlüsselten privaten PEM-Schlüssel im Format PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) oder SEC1 (BEGIN EC PRIVATE KEY) ein oder einen privaten JWK mit dem Feld d. Verschlüsselte PEM-Dateien und private OpenSSH-Schlüssel werden nicht eingelesen. Der Schlüssel muss zum Algorithmus passen: Für ES384 ist ein P-384-Schlüssel erforderlich, RSA-Schlüssel müssen mindestens 2048 Bit lang sein.

### Wie werden iat und exp festgelegt?

Wenn die Option „Ausgestellt am“ aktiviert ist, wird iat auf die aktuelle Zeit gesetzt, sofern dein Payload nicht bereits einen iat-Claim enthält. Wenn die Ablaufzeit größer als 0 Sekunden ist, wird exp auf die aktuelle Zeit plus diese Anzahl Sekunden gesetzt und ein vorhandener exp-Wert in deinem Payload ersetzt. Bei einer Ablaufzeit von 0 wird kein exp hinzugefügt und ein exp-Wert aus deinem Payload bleibt erhalten.

### Wofür ist das Feld kid vorgesehen?

Eine nicht leere Schlüssel-ID wird in den kid-Header geschrieben, damit Prüfer den passenden Schlüssel aus einem JWKS auswählen können. Wenn du ein JWKS als Signaturschlüssel einfügst, bestimmt kid auch, welcher Schlüssel aus dem Satz das Token signiert. Der JWK-Konverter und die Schlüsselgeneratoren zeigen den RFC-7638-Fingerabdruck an, der sich gut als kid eignet.

### Was enthält das Ergebnis?

Du erhältst das kompakte Token, den Algorithmus, die Schlüssel-ID, die Ausgabe- und Ablaufzeiten in UTC sowie genau den signierten JSON-Header und Payload. Kopiere das Token aus dem ersten Block. Dekodiere es später erneut mit dem JWT-Decoder oder prüfe es mit dem JWT-Verifier.

### Werden meine Geheimnisse oder Schlüssel gespeichert?

Nein. Das Geheimnis oder der private Schlüssel wird nur in der Anfrage zum Signieren des Tokens übertragen, einmal im Arbeitsspeicher verwendet und niemals protokolliert oder gespeichert. Verwende für Experimente trotzdem am besten Testschlüssel und füge niemals einen privaten Produktionsschlüssel in ein Webtool ein, dessen Server du nicht kontrollierst.

### Gibt es Größenbeschränkungen?

Der Payload darf bis zu 65,536 Zeichen lang sein, der Schlüssel bis zu 65,536 Zeichen und kid bis zu 256 Zeichen. Ablaufzeiten reichen von 0 bis 315,360,000 Sekunden, also zehn Jahren. Längere Eingaben werden mit einer Meldung abgelehnt, die das betreffende Feld nennt.

Deine Anzeige hier?

[Schreib uns eine E-Mail](mailto:hi@dennn.is?subject=Werbung%20auf%20OneClick%20Pro)

[Anzeige Die agentenfähige Plugin-Suite für WordPress.](https://sleekwp.com/?ref=oneclickpro)
