JWT ģenerators
Izveidojiet parakstītu JSON Web Token ar saviem JSON apgalvojumiem. Izvēlieties HS256, HS384 vai HS512 ar koplietotu noslēpumu, RS256 līdz PS512 ar RSA privāto atslēgu, ES256 līdz ES512 ar atbilstošu EC atslēgu vai EdDSA ar Ed25519 atslēgu PEM vai JWK formātā. Ģenerators var pievienot iat, exp un kid galveni, paraksta ar jose bibliotēku un parāda kompakto tokenu blakus atkodētajai galvenei un saturam.
Bieži uzdotie jautājumi
Kādus parakstīšanas algoritmus varu izmantot?
Ģenerators atbalsta HS256, HS384 un HS512 ar koplietotu noslēpumu, RS256, RS384, RS512, PS256, PS384 un PS512 ar RSA privāto atslēgu, ES256, ES384 un ES512 ar EC privāto atslēgu uz P-256, P-384 vai P-521 līknes, kā arī EdDSA ar Ed25519 privāto atslēgu. Izvēlētais algoritms tiek ierakstīts alg galvenē, bet typ vienmēr tiek iestatīts uz JWT.
Ko ievadīt saturā?
Ievadiet JSON objektu ar saviem apgalvojumiem, piemēram, sub, name, iss, aud vai jebkuru pielāgotu locekli. Masīvi, virknes un citas vērtības, kas nav objekti, tiek noraidītas, jo JWT saturam jābūt JSON objektam. Apgalvojumu secība un vērtības tiek saglabātas tieši tādas, kā tās ievadījāt.
Kā tiek nolasīts HMAC noslēpums?
HS256, HS384 un HS512 gadījumā noslēpums tiek izmantots kā UTF-8 teksts pēc atstarpju noņemšanas tā sākumā un beigās. Ja noslēpums ir binārs, ielīmējiet to kā JWK, piemēram, {"kty": "oct", "k": "..."}, norādot baitus base64url formātā; tā vietā tiek izmantoti atkodētie baiti. PEM atslēgas HMAC algoritmiem netiek pieņemtas, jo publiskās atslēgas izmantošana par HMAC noslēpumu ir klasiska kļūda.
Cik garam jābūt HS256 noslēpumam?
RFC 7518 pieprasa atslēgu, kas ir vismaz tikpat gara kā jaucējvērtības izvade, tātad 32 baitus HS256, 48 baitus HS384 un 64 baitus HS512 gadījumā. Rīks paraksta arī ar īsākiem noslēpumiem, lai varētu atkārtot testa tokenus, taču ražošanas vidē izmantojiet garas, nejaušas vērtības, piemēram, no paroļu ģeneratora.
Kādus privāto atslēgu formātus pieņem RSA, EC un EdDSA?
Ielīmējiet nešifrētu PEM privāto atslēgu PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) vai SEC1 (BEGIN EC PRIVATE KEY) formā vai privātu JWK, kurā ir d loceklis. Šifrēti PEM faili un OpenSSH privātās atslēgas netiek nolasītas. Atslēgai jāatbilst algoritmam: ES384 nepieciešama P-384 atslēga, bet RSA atslēgām jābūt vismaz 2048 bitu garām.
Kā tiek iestatīti iat un exp?
Ja ir ieslēgta izdošanas laika opcija, iat tiek iestatīts uz pašreizējo laiku, ja vien saturā jau nav iat apgalvojuma. Ja derīguma termiņš ir lielāks par 0 sekundēm, exp tiek iestatīts uz pašreizējo laiku plus norādītais sekunžu skaits, aizstājot jebkuru exp vērtību saturā. Ja derīguma termiņš ir 0, exp netiek pievienots un tiek saglabāta exp vērtība no satura.
Kam paredzēts kid lauks?
Galvenei kid tiek pievienots netukšs atslēgas ID, lai pārbaudītāji varētu atlasīt pareizo atslēgu no JWKS. Ja kā parakstīšanas atslēgu ielīmējat JWKS, kid arī atlasa, kura kopas atslēga parakstīs tokenu. JWK pārveidotājs un atslēgu ģeneratori parāda RFC 7638 kontrolsummu, kas ir piemērota kid vērtība.
Ko satur rezultāts?
Jūs saņemat kompakto tokenu, algoritmu, atslēgas ID, izdošanas un derīguma termiņa laikus UTC formātā, kā arī precīzu parakstīto galveni un satura JSON. Kopējiet tokenu no pirmā bloka. Vēlāk atkodējiet to ar JWT atkodētāju vai pārbaudiet ar JWT verificētāju.
Vai mani noslēpumi vai atslēgas tiek saglabātas?
Nē. Noslēpums vai privātā atslēga tiek nosūtīta tikai pieprasījumā, ar kuru paraksta tokenu, izmantota vienreiz atmiņā un nekad netiek reģistrēta vai saglabāta. Tomēr eksperimentos izmantojiet testa atslēgas un nekad neielīmējiet ražošanas parakstīšanas atslēgu tīmekļa rīkā, ja vien nekontrolējat serveri.
Vai ir noteikti izmēra ierobežojumi?
Satura garums var būt līdz 65,536 rakstzīmēm, atslēgas — līdz 65,536 rakstzīmēm, bet kid — līdz 256 rakstzīmēm. Derīguma termiņš var būt no 0 līdz 315,360,000 sekundēm, kas ir desmit gadi. Garāki ievaddati tiek noraidīti ar ziņojumu, kurā norādīts attiecīgais lauks.