# JWT-generator

Maak een ondertekend JSON Web Token met uw eigen JSON-claims. Kies HS256, HS384 of HS512 met een gedeeld geheim, RS256 tot PS512 met een RSA-privésleutel, ES256 tot ES512 met de bijbehorende EC-sleutel, of EdDSA met een Ed25519-sleutel, aangeleverd als PEM of JWK. De generator kan een iat-claim, exp-claim en kid-header toevoegen, ondertekent met de jose-bibliotheek en toont het compacte token naast de gedecodeerde header en payload.

## Veelgestelde vragen

### Welke ondertekeningsalgoritmen kan ik gebruiken?

De generator ondersteunt HS256, HS384 en HS512 met een gedeeld geheim, RS256, RS384, RS512, PS256, PS384 en PS512 met een RSA-privésleutel, ES256, ES384 en ES512 met een EC-privésleutel op P-256, P-384 of P-521, en EdDSA met een Ed25519-privésleutel. Het gekozen algoritme wordt ingevuld in de alg-header en typ wordt altijd ingesteld op JWT.

### Wat voer ik in als payload?

Voer een JSON-object met uw claims in, bijvoorbeeld sub, name, iss, aud of een eigen veld. Arrays, strings en andere waarden die geen object zijn, worden geweigerd, omdat een JWT-payload een JSON-object moet zijn. De volgorde en waarden van de claims blijven precies zoals u ze hebt ingevoerd.

### Hoe wordt het HMAC-geheim ingelezen?

Voor HS256, HS384 en HS512 wordt het geheim gebruikt als UTF-8-tekst, nadat witruimte aan het begin en einde is verwijderd. Als uw geheim binair is, plak het dan als JWK, bijvoorbeeld {"kty": "oct", "k": "..."}, met de bytes in base64url; de gedecodeerde bytes worden dan gebruikt. PEM-sleutels worden geweigerd voor HMAC-algoritmen, omdat een openbare sleutel als HMAC-geheim gebruiken een klassieke fout is.

### Hoe lang moet een HS256-geheim zijn?

RFC 7518 vereist een sleutel die minstens zo lang is als de hashuitvoer: dus 32 bytes voor HS256, 48 voor HS384 en 64 voor HS512. De tool ondertekent ook met kortere geheimen, zodat u testtokens kunt namaken, maar productiegeheimen moeten lange, willekeurige waarden zijn, bijvoorbeeld gegenereerd met de wachtwoordgenerator.

### Welke indelingen voor privésleutels worden geaccepteerd voor RSA, EC en EdDSA?

Plak een niet-versleutelde PEM-privésleutel in PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) of SEC1 (BEGIN EC PRIVATE KEY)-indeling, of een privé-JWK met een d-veld. Versleutelde PEM-bestanden en OpenSSH-privésleutels worden niet gelezen. De sleutel moet bij het algoritme passen: ES384 vereist een P-384-sleutel en RSA-sleutels moeten minstens 2048 bits bevatten.

### Hoe worden iat en exp ingesteld?

Wanneer de optie voor de uitgiftetijd is ingeschakeld, wordt iat ingesteld op de huidige tijd, tenzij uw payload al een iat-claim bevat. Als de vervaltijd meer dan 0 seconden is, wordt exp ingesteld op de huidige tijd plus dat aantal seconden en wordt een eventuele exp in uw payload vervangen. Bij een vervaltijd van 0 wordt geen exp toegevoegd en blijft een exp uit uw payload behouden.

### Waarvoor dient het kid-veld?

Een niet-lege sleutel-ID wordt in de kid-header geplaatst, zodat verifiers de juiste sleutel uit een JWKS kunnen kiezen. Als u een JWKS als ondertekeningssleutel plakt, bepaalt de kid ook welke sleutel uit de set het token ondertekent. De JWK-converter en de sleutelgenerators tonen de RFC 7638-vingerafdruk, die geschikt is als kid.

### Wat bevat het resultaat?

U krijgt het compacte token, het algoritme, de sleutel-ID, de uitgiftetijd en vervaltijd in UTC, en de exacte header en payload JSON die zijn ondertekend. Kopieer het token uit het eerste blok. Decodeer het later opnieuw met de JWT-decoder of controleer het met de JWT-verifier.

### Worden mijn geheimen of sleutels opgeslagen?

Nee. Het geheim of de privésleutel wordt alleen meegestuurd in het verzoek waarmee het token wordt ondertekend, wordt één keer in het geheugen gebruikt en wordt nooit gelogd of opgeslagen. Gebruik toch bij voorkeur testsleutels voor experimenten en plak nooit een productie-ondertekeningssleutel in een webtool, tenzij u de server beheert.

### Zijn er limieten voor de bestandsgrootte?

De payload mag maximaal 65,536 tekens bevatten, de sleutel maximaal 65,536 tekens en de kid maximaal 256 tekens. De vervaltijd loopt van 0 tot 315,360,000 seconden, oftewel tien jaar. Langere invoer wordt geweigerd met een melding waarin het veld wordt genoemd.

Hier adverteren?

[E-mail ons](mailto:hi@dennn.is?subject=Adverteren%20op%20OneClick%20Pro)

[Advertentie De plug-insuite voor agents van WordPress.](https://sleekwp.com/?ref=oneclickpro)
