Treci la conținut

Generator JWT

Creați un Web Token JSON semnat, cu propriile afirmații JSON. Alegeți HS256, HS384 sau HS512 cu un secret partajat, RS256 până la PS512 cu o cheie privată RSA, ES256 până la ES512 cu cheia EC corespunzătoare sau EdDSA cu o cheie Ed25519, furnizată în format PEM sau JWK. Generatorul poate adăuga un antet iat, exp și kid, semnează cu biblioteca jose și afișează tokenul compact alături de antetul și payloadul decodificate.

Resetează

Întrebări frecvente

Ce algoritmi de semnare pot folosi?

Generatorul acceptă HS256, HS384 și HS512 cu un secret partajat, RS256, RS384, RS512, PS256, PS384 și PS512 cu o cheie privată RSA, ES256, ES384 și ES512 cu o cheie privată EC pe P-256, P-384 sau P-521, precum și EdDSA cu o cheie privată Ed25519. Algoritmul ales este înscris în antetul alg, iar typ este setat întotdeauna la JWT.

Ce introduc ca payload?

Introduceți un obiect JSON cu afirmațiile dvs., de exemplu sub, name, iss, aud sau orice membru personalizat. Tablourile, șirurile și alte valori care nu sunt obiecte sunt respinse, deoarece un payload JWT trebuie să fie un obiect JSON. Ordinea afirmațiilor și valorile sunt păstrate exact așa cum le-ați scris.

Cum este citit secretul HMAC?

Pentru HS256, HS384 și HS512, secretul este folosit ca text UTF-8 după eliminarea spațiilor de la început și de la sfârșit. Dacă secretul dvs. este binar, lipiți-l ca JWK, de exemplu {"kty": "oct", "k": "..."}, cu octeții în base64url; în schimb, sunt folosiți octeții decodați. Cheile PEM sunt refuzate pentru algoritmii HMAC, deoarece folosirea unei chei publice ca secret HMAC este o greșeală clasică.

Cât de lung ar trebui să fie un secret HS256?

RFC 7518 cere o cheie cel puțin la fel de lungă ca rezultatul hashului, adică 32 de octeți pentru HS256, 48 pentru HS384 și 64 pentru HS512. Instrumentul semnează și cu secrete mai scurte, pentru a putea reproduce tokenuri de test, dar secretele pentru producție ar trebui să fie valori aleatorii lungi, de exemplu generate cu Generatorul de parole.

Ce formate de chei private sunt acceptate pentru RSA, EC și EdDSA?

Lipiți o cheie privată PEM necriptată în format PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) sau SEC1 (BEGIN EC PRIVATE KEY), ori un JWK privat care conține membrul d. Fișierele PEM criptate și cheile private OpenSSH nu sunt citite. Cheia trebuie să corespundă algoritmului, deci ES384 necesită o cheie P-384, iar cheile RSA trebuie să aibă cel puțin 2048 biți.

Cum sunt setate iat și exp?

Când opțiunea pentru momentul emiterii este activată, iat este setat la ora curentă, cu excepția cazului în care payloadul dvs. conține deja o afirmație iat. Când expirarea este mai mare de 0 secunde, exp este setat la ora curentă plus numărul respectiv de secunde și înlocuiește orice exp din payloadul dvs. Dacă expirarea este 0, nu se adaugă exp, iar un exp din payload este păstrat.

La ce folosește câmpul kid?

Un ID de cheie nevid este înscris în antetul kid, astfel încât verificatorii să poată alege cheia potrivită dintr-un JWKS. Dacă lipiți un JWKS ca cheie de semnare, kid selectează și cheia din set care semnează tokenul. Convertorul JWK și generatoarele de chei afișează amprenta RFC 7638, potrivită pentru kid.

Ce conține rezultatul?

Veți primi tokenul compact, algoritmul, ID-ul cheii, momentele emiterii și expirării în UTC, precum și antetul și payloadul JSON exacte care au fost semnate. Copiați tokenul din primul bloc. Îl puteți decoda din nou mai târziu cu Decodorul JWT sau îl puteți verifica cu Verificatorul JWT.

Sunt stocate secretele sau cheile mele?

Nu. Secretul sau cheia privată este transmisă doar în cererea de semnare a tokenului, este folosită o singură dată în memorie și nu este niciodată înregistrată sau salvată. Chiar și așa, folosiți chei de test pentru experimente și nu lipiți niciodată o cheie de semnare pentru producție într-un instrument web decât dacă controlați serverul.

Există limite de dimensiune?

Payloadul poate avea până la 65,536 caractere, cheia până la 65,536 caractere, iar kid până la 256 caractere. Valorile expirării sunt între 0 și 315,360,000 secunde, adică zece ani. Intrările mai lungi sunt respinse printr-un mesaj care indică numele câmpului.

Despre OneClick Pro

OneClick Pro este o colecție gratuită de peste 150 de instrumente web pentru activitățile de zi cu zi: conversia imaginilor și unităților, formatarea și validarea codului, verificarea domeniilor și a SEO, precum și lucrul cu text, date și numere. Fiecare instrument funcționează fără înregistrare sau abonament, iar ceea ce introduceți este folosit doar pentru a calcula rezultatul și nu este stocat niciodată. Folosiți colecția ca trusă de instrumente rapidă pentru sarcini ocazionale sau salvați în marcaje instrumentele pe care le utilizați în fiecare zi.