Generador i verificador de JWT
Crea i verifica JSON Web Tokens amb HS256, RS256, PS256, ES256 o EdDSA. Edita reclamacions, defineix exp i iat i comprova signatures al navegador.
Les claus i els tokens són secrets. Tot es signa i es verifica en local amb l'API Web Crypto del navegador: no es puja res.
Crea un JWT signat
Aquest navegador no admet Ed25519 a Web Crypto, de manera que EdDSA no està disponible.
Les claus de prova es generen al navegador i s'omplen a sota. Guarda la clau privada o el secret per a tu; comparteix només la clau pública.
Verifica un JWT
Com crear un JWT signat
- Tria l’Algorisme: HS256/384/512 (secret compartit), RS256/384/512 o PS256/384/512 (RSA), ES256/384/512 (ECDSA amb P-256, P-384 o P-521) o EdDSA (Ed25519, quan el navegador ho admet).
- Edita la Capçalera (JSON) i el Contingut (reclamacions JSON). El camp
algsempre segueix l’algorisme seleccionat, itypésJWTper defecte. - Fes servir els botons de reclamacions de temps per afegir dates: iat = ara, nbf = ara, o tria un retard com «d’aquí a 1 hora» i fes clic a Defineix exp. Els valors són NumericDate: segons des de l‘1 de gener de 1970 UTC.
- Introdueix el Secret (algorismes HS, com a text o Base64/Base64url amb Format del secret) o la Clau privada (PEM o JWK). Encara no tens cap clau? Fes clic a Genera una clau de prova.
- Fes clic a Signa el token i després Copia el resultat o fes clic a Verifica aquest token per comprovar-lo a l’instant.
Com verificar un JWT
- Enganxa el token a Token a verificar.
- Tria l’Algorisme esperat. Si el deixes a «El de la capçalera del token (mai none)», s’accepta el que digui la capçalera, tret de
none; si tries un algorisme concret, l’eina rebutja qualsevol token signat de manera diferent, com ha de fer un servidor real. - Introdueix el secret o la Clau pública (PEM o JWK): un bloc PEM
PUBLIC KEY,RSA PUBLIC KEYoCERTIFICATE, una JWK o un conjunt JWK (s’utilitza la clau amb elkidde la capçalera). - Si vols, defineix un Marge del rellotge (segons) per tolerar petites diferències de rellotge, i fes clic a Verifica el token.
El resultat indica si la signatura és vàlida i, a continuació, comprova exp (caducitat) i nbf (no vàlid abans de) amb l’hora actual del teu ordinador. Un token amb la signatura correcta però amb una caducitat passada s’informa com a caducat, no com a vàlid.
Claus i formats
Per signar, l’eina accepta blocs PKCS#8 PRIVATE KEY, PKCS#1 RSA PRIVATE KEY i SEC1 EC PRIVATE KEY (convertits internament a PKCS#8) i JWK privades. Les claus protegides amb contrasenya s’han d’exportar abans sense contrasenya. Genera una clau de prova crea un secret aleatori de la mida del hash per als algorismes HS, un parell de claus RSA de 2048 bits per a RS i PS, la corba corresponent per a ES o un parell Ed25519. Les claus s’obtenen com a PEM i JWK, i s’omplen als dos costats perquè el recorregut complet funcioni a l’instant.
Les signatures segueixen la RFC 7515 i la RFC 7518: RSA-PSS utilitza una sal tan llarga com el hash, i les signatures ECDSA són la concatenació directa r||s. La implementació reprodueix l’exemple HS256 de la RFC 7515, apèndix A.1.
Notes de seguretat
- Tot s’executa al teu navegador amb l’API Web Crypto. Ni els tokens ni les claus s’envien enlloc, però tot i així és preferible fer servir claus de prova abans que secrets de producció.
alg: nonemai no es signa i mai no s’accepta.- Els secrets HMAC haurien de ser, com a mínim, tan llargs com el hash (32 bytes per a HS256). Un secret més curt provoca un avís.
- Una signatura demostra la integritat i l’origen, no que les reclamacions siguin adequades: els servidors també han de comprovar
iss,audi els permisos (scopes).
Preguntes freqüents
Quina diferència hi ha entre HS256 i RS256?
HS256 utilitza un únic secret compartit per signar i per verificar, de manera que qualsevol verificador també podria falsificar tokens. RS256 (i PS256, ES256, EdDSA) signa amb una clau privada i verifica amb una clau pública que es pot publicar sense risc.
Per què una signatura vàlida mostra tot i així un error?
Perquè el token és fora del seu període de validesa: exp és al passat o nbf és al futur. La comprovació de la signatura i la del temps s’informen per separat.
Per què es rebutja alg «none»?
Qualsevol persona pot crear un token sense signar. Acceptar-lo va ser una vulnerabilitat clàssica de les biblioteques JWT, per això aquesta eina el rebutja tant en signar com en verificar.
Puc utilitzar la meva pròpia clau RSA o EC?
Sí. Enganxa la clau privada com a PEM o JWK per signar i la clau pública per verificar. L’eina comprova que el tipus de clau i la corba coincideixin amb l’algorisme seleccionat.
Per què EdDSA està desactivat?
El teu navegador encara no admet Ed25519 a Web Crypto. Les versions recents de Chrome, Edge, Firefox i Safari sí que ho fan.
Eines relacionades
- Decodificador JWT Descodifica la capçalera i el contingut d'un JWT, llegeix exp, iat i nbf com a dates i verifica signatures HS256, RS256, ES256 o EdDSA al navegador.
- Generador d'HMAC Calcula un HMAC-SHA1, SHA-256, SHA-384 o SHA-512 amb una clau en text, hex o Base64, obtén la sortida en hex i Base64 i comprova un webhook al navegador.
- Convertidor de marca de temps Unix Converteix marques de temps Unix en segons o mil·lisegons a dates llegibles en hora local, UTC i ISO 8601, i torna qualsevol data a temps epoch.
- Formatador i validador de JSON Formatador i validador de JSON gratuït que embelleix, minimitza i comprova JSON al navegador, amb els errors de sintaxi indicats per línia i columna.