JWT ģenerators un pārbaudītājs
Izveidojiet un pārbaudiet JSON Web Token ar HS256, RS256, PS256, ES256 vai EdDSA. Rediģējiet apgalvojumus, iestatiet exp un iat, pārbaudiet parakstu lokāli.
Atslēgas un žetoni ir noslēpumi. Viss tiek parakstīts un pārbaudīts lokāli ar jūsu pārlūkprogrammas Web Crypto API: nekas netiek augšupielādēts.
Izveidot parakstītu JWT
Šī pārlūkprogramma Web Crypto saskarnē neatbalsta Ed25519, tāpēc EdDSA nav pieejams.
Testa atslēgas tiek ģenerētas jūsu pārlūkprogrammā un ievietotas zemāk. Privāto atslēgu vai noslēpumu glabājiet pie sevis; kopīgojiet tikai publisko atslēgu.
Pārbaudīt JWT
Kā izveidot parakstītu JWT
- Izvēlieties Algoritms: HS256/384/512 (kopīgs noslēpums), RS256/384/512 vai PS256/384/512 (RSA), ES256/384/512 (ECDSA uz P-256, P-384 vai P-521) vai EdDSA (Ed25519, ja jūsu pārlūkprogramma to atbalsta).
- Rediģējiet Galvene (JSON) un Dati (JSON apgalvojumi). Lauks
algvienmēr atbilst izvēlētajam algoritmam, untyppēc noklusējuma irJWT. - Datumu pievienošanai izmantojiet laika apgalvojumu pogas: iat = tagad, nbf = tagad, vai izvēlieties ilgumu, piemēram, „pēc 1 stundas“, un noklikšķiniet uz Iestatīt exp. Vērtības ir NumericDate: sekundes kopš 1970. gada 1. janvāra UTC.
- Ievadiet Noslēpums (HS algoritmiem kā tekstu vai Base64/Base64url sadaļā Noslēpuma formāts) vai Privātā atslēga (PEM vai JWK). Vēl nav atslēgas? Noklikšķiniet uz Ģenerēt testa atslēgu.
- Noklikšķiniet uz Parakstīt žetonu, pēc tam Kopēt rezultātu vai noklikšķiniet uz Pārbaudīt šo žetonu, lai to uzreiz pārbaudītu.
Kā pārbaudīt JWT
- Ielīmējiet žetonu laukā Pārbaudāmais žetons.
- Izvēlieties Paredzamais algoritms. Ja atstājat „No žetona galvenes (nekad none)“, tiek pieņemts viss, ko norāda galvene, izņemot
none; izvēloties konkrētu algoritmu, rīks noraida jebkuru citādi parakstītu žetonu, kā tam jādara īstam serverim. - Ievadiet noslēpumu vai Publiskā atslēga (PEM vai JWK): PEM bloku
PUBLIC KEY,RSA PUBLIC KEYvaiCERTIFICATE, JWK vai JWK kopu (tiek izmantota atslēga, kuraskidatbilst galvenei). - Pēc izvēles iestatiet Pulksteņa pielaide (sekundes), lai pieļautu nelielas pulksteņu atšķirības, un noklikšķiniet uz Pārbaudīt žetonu.
Rezultāts norāda, vai paraksts ir derīgs, un pēc tam pārbauda exp (derīguma termiņš) un nbf (nav derīgs pirms) pret jūsu datora pašreizējo laiku. Žetons ar pareizu parakstu, bet pagātnē esošu derīguma termiņu tiek uzskatīts par beigušos, nevis derīgu.
Atslēgas un formāti
Parakstīšanai rīks pieņem PKCS#8 blokus PRIVATE KEY, PKCS#1 RSA PRIVATE KEY un SEC1 EC PRIVATE KEY (iekšēji pārvērsti PKCS#8) un privātos JWK. Ar paroli aizsargātas atslēgas vispirms jāeksportē bez paroles. Ģenerēt testa atslēgu izveido nejaušu noslēpumu jaucējkoda garumā HS algoritmiem, 2048 bitu RSA atslēgu pāri RS un PS, atbilstošo līkni ES vai Ed25519 pāri. Atslēgas tiek sniegtas kā PEM un JWK, un tās tiek ievietotas abās pusēs, lai pilns cikls darbotos uzreiz.
Paraksti atbilst RFC 7515 un RFC 7518: RSA-PSS izmanto sāli jaucējkoda garumā, bet ECDSA paraksti ir neapstrādāta r||s savienošana. Īstenojums atveido RFC 7515 A.1 pielikuma HS256 piemēru.
Drošības piezīmes
- Viss darbojas jūsu pārlūkprogrammā ar Web Crypto API. Ne žetoni, ne atslēgas netiek nekur sūtīti, taču tāpat dodiet priekšroku testa atslēgām, nevis ražošanas noslēpumiem.
alg: nonenekad netiek parakstīts un nekad netiek pieņemts.- HMAC noslēpumiem jābūt vismaz tikpat gariem kā jaucējkodam (32 baiti HS256 gadījumā). Īsāks noslēpums izraisa brīdinājumu.
- Paraksts apliecina integritāti un izcelsmi, nevis to, ka apgalvojumi ir piemēroti: serveriem jāpārbauda arī
iss,audun darbības jomas.
Biežāk uzdotie jautājumi
Kāda ir atšķirība starp HS256 un RS256?
HS256 izmanto vienu kopīgu noslēpumu gan parakstīšanai, gan pārbaudei, tāpēc ikviens pārbaudītājs varētu arī viltot žetonus. RS256 (un PS256, ES256, EdDSA) paraksta ar privāto atslēgu un pārbauda ar publisko atslēgu, ko var droši publicēt.
Kāpēc derīgs paraksts tomēr rāda kļūdu?
Tāpēc, ka žetons ir ārpus sava derīguma perioda: exp ir pagātnē vai nbf ir nākotnē. Paraksta pārbaude un laika pārbaude tiek ziņotas atsevišķi.
Kāpēc alg „none“ tiek noraidīts?
Nepārakstītu žetonu var izveidot ikviens. Tā pieņemšana bija klasiska JWT bibliotēku ievainojamība, tāpēc šis rīks to noraida gan parakstot, gan pārbaudot.
Vai varu izmantot savu RSA vai EC atslēgu?
Jā. Parakstīšanai ielīmējiet privāto atslēgu kā PEM vai JWK, bet pārbaudei publisko atslēgu. Rīks pārbauda, vai atslēgas veids un līkne atbilst izvēlētajam algoritmam.
Kāpēc EdDSA ir atspējots?
Jūsu pārlūkprogramma vēl neatbalsta Ed25519 Web Crypto saskarnē. Jaunākās Chrome, Edge, Firefox un Safari versijas to atbalsta.
Saistītie rīki
- JWT dekoderis Atkodējiet JWT galveni un datus, skatiet exp, iat un nbf kā datumus un pārbaudiet HS256, RS256, ES256 vai EdDSA parakstu savā pārlūkprogrammā.
- HMAC ģenerators Aprēķiniet HMAC-SHA1, SHA-256, SHA-384 vai SHA-512 ar teksta, hex vai Base64 atslēgu, iegūstiet hex un Base64 izvadi un pārbaudiet webhook parakstu.
- Unix laika zīmoga pārveidotājs Pārveidojiet Unix laika zīmogus sekundēs vai milisekundēs lasāmos datumos vietējā laikā, UTC un ISO 8601 un pārvērtiet jebkuru datumu atpakaļ epoch laikā.
- JSON formatētājs un validators Bezmaksas JSON formatētājs un validators, kas sakārto, minimizē un pārbauda JSON jūsu pārlūkprogrammā, norādot sintakses kļūdas rindu un kolonnu.