# Generatore di JWT

Create un Web Token JSON firmato con le vostre claim JSON. Scegliete HS256, HS384 o HS512 con un segreto condiviso, da RS256 a PS512 con una chiave privata RSA, da ES256 a ES512 con la chiave EC corrispondente oppure EdDSA con una chiave Ed25519, in formato PEM o JWK. Il generatore può aggiungere un'intestazione iat, exp e kid, firma con la libreria jose e mostra il token compatto accanto all'intestazione e al payload decodificati.

## Domande frequenti

### Quali algoritmi di firma posso usare?

Il generatore supporta HS256, HS384 e HS512 con un segreto condiviso, RS256, RS384, RS512, PS256, PS384 e PS512 con una chiave privata RSA, ES256, ES384 ed ES512 con una chiave privata EC su P-256, P-384 o P-521, ed EdDSA con una chiave privata Ed25519. L'algoritmo scelto viene inserito nell'intestazione alg e typ è sempre impostato su JWT.

### Cosa devo inserire nel payload?

Inserite un oggetto JSON con le vostre claim, ad esempio sub, name, iss, aud o qualsiasi proprietà personalizzata. Gli array, le stringhe e gli altri valori che non sono oggetti vengono rifiutati, perché un payload JWT deve essere un oggetto JSON. L'ordine e i valori delle claim vengono mantenuti esattamente come li avete scritti.

### Come viene letto il segreto HMAC?

Per HS256, HS384 e HS512, il segreto viene usato come testo UTF-8 dopo aver rimosso gli spazi iniziali e finali. Se il segreto è binario, incollatelo come JWK, ad esempio {"kty": "oct", "k": "..."}, codificando i byte in base64url; verranno usati i byte decodificati. Le chiavi PEM non sono accettate per gli algoritmi HMAC, perché usare una chiave pubblica come segreto HMAC è un errore classico.

### Quanto deve essere lungo un segreto HS256?

RFC 7518 richiede una chiave lunga almeno quanto l'output dell'hash: quindi 32 byte per HS256, 48 per HS384 e 64 per HS512. Lo strumento firma anche con segreti più brevi, così potete riprodurre token di test, ma i segreti di produzione dovrebbero essere lunghi e casuali, ad esempio generati con il Generatore di password.

### Quali formati di chiave privata sono accettati per RSA, EC ed EdDSA?

Incollate una chiave privata PEM non cifrata in formato PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) o SEC1 (BEGIN EC PRIVATE KEY), oppure una JWK privata che includa il membro d. I file PEM cifrati e le chiavi private OpenSSH non vengono letti. La chiave deve essere adatta all'algoritmo: ES384 richiede una chiave P-384 e le chiavi RSA devono avere almeno 2048 bit.

### Come vengono impostati iat ed exp?

Quando l'opzione «issued at» è attiva, iat viene impostato sull'ora corrente, a meno che il payload non contenga già una claim iat. Quando la scadenza è superiore a 0 secondi, exp viene impostato sull'ora corrente più il numero di secondi specificato e sostituisce qualsiasi exp presente nel payload. Con una scadenza di 0, non viene aggiunto alcun exp e viene mantenuto quello eventualmente presente nel payload.

### A cosa serve il campo kid?

Un ID chiave non vuoto viene inserito nell'intestazione kid, così i verificatori possono scegliere la chiave corretta da un JWKS. Se incollate un JWKS come chiave di firma, kid seleziona anche quale chiave dell'insieme firma il token. Il Convertitore JWK e i generatori di chiavi mostrano l'impronta RFC 7638, un valore adatto come kid.

### Cosa contiene il risultato?

Riceverete il token compatto, l'algoritmo, l'ID chiave, gli orari di emissione e scadenza in UTC e l'esatta intestazione e il payload JSON firmati. Copiate il token dal primo blocco. In seguito, decodificatelo con il Decodificatore JWT o verificatelo con il Verificatore JWT.

### I miei segreti o le mie chiavi vengono salvati?

No. Il segreto o la chiave privata viene trasmesso solo nella richiesta che firma il token, usato una sola volta in memoria e mai registrato o salvato. In ogni caso, preferite chiavi di test per gli esperimenti e non incollate mai una chiave di firma di produzione in uno strumento web, a meno che non controlliate il server.

### Ci sono limiti alle dimensioni?

Il payload può contenere fino a 65,536 caratteri, la chiave fino a 65,536 caratteri e kid fino a 256 caratteri. I valori di scadenza vanno da 0 a 315,360,000 secondi, cioè dieci anni. Gli input più lunghi vengono rifiutati con un messaggio che indica il campo.

Il tuo annuncio qui?

[Scrivici](mailto:hi@dennn.is?subject=Pubblicit%C3%A0%20su%20OneClick%20Pro)

[Annuncio La suite di plugin pronta per gli agenti di WordPress.](https://sleekwp.com/?ref=oneclickpro)
