JWT-generaattori
Luo allekirjoitettu JSON Web Token omista JSON-vaatimuksistasi. Valitse HS256, HS384 tai HS512 jaettu salaisuusavaimella, RS256–PS512 RSA-yksityisavaimella, ES256–ES512 vastaavalla EC-avaimella tai EdDSA Ed25519-avaimella, joka annetaan PEM- tai JWK-muodossa. Generaattori voi lisätä iat- ja exp-arvot sekä kid-otsakkeen, allekirjoittaa jose-kirjastolla ja näyttää tiiviin tunnuksen dekoodatun otsakkeen ja hyötykuorman vieressä.
Usein kysytyt kysymykset
Mitä allekirjoitusalgoritmeja voin käyttää?
Generaattori tukee HS256-, HS384- ja HS512-algoritmeja jaetulla salaisuusavaimella, RS256-, RS384-, RS512-, PS256-, PS384- ja PS512-algoritmeja RSA-yksityisavaimella, ES256-, ES384- ja ES512-algoritmeja EC-yksityisavaimella käyrillä P-256, P-384 tai P-521 sekä EdDSA:ta Ed25519-yksityisavaimella. Valitsemasi algoritmi kirjoitetaan alg-otsakkeeseen, ja typ asetetaan aina arvoon JWT.
Mitä syötän hyötykuormaksi?
Syötä JSON-objekti, joka sisältää vaatimuksesi, esimerkiksi sub, name, iss, aud tai minkä tahansa mukautetun jäsenen. Taulukot, merkkijonot ja muut arvot, jotka eivät ole objekteja, hylätään, koska JWT-hyötykuorman on oltava JSON-objekti. Vaatimusten järjestys ja arvot säilytetään täsmälleen syöttämässäsi muodossa.
Miten HMAC-salaisuus luetaan?
HS256-, HS384- ja HS512-algoritmeissa salaisuutta käsitellään UTF-8-tekstinä, josta poistetaan alun ja lopun tyhjä tila. Jos salaisuutesi on binäärimuodossa, liitä se JWK-muodossa, esimerkiksi {"kty": "oct", "k": "..."}, ja anna tavut base64url-muodossa; tällöin käytetään dekoodattuja tavuja. PEM-avaimia ei hyväksytä HMAC-algoritmeille, koska julkisen avaimen käyttäminen HMAC-salaisuutena on yleinen virhe.
Kuinka pitkä HS256-salaisuuden pitäisi olla?
RFC 7518 edellyttää, että avain on vähintään hajautustuloksen pituinen: HS256:lle siis 32 tavua, HS384:lle 48 ja HS512:lle 64. Työkalu allekirjoittaa myös lyhyemmillä salaisuuksilla, jotta voit luoda testitunnuksia uudelleen, mutta tuotantokäytön salaisuuksien tulisi olla pitkiä satunnaisia arvoja, esimerkiksi Salasanageneraattorilla luotuja.
Mitä yksityisavainten muotoja RSA:lle, EC:lle ja EdDSA:lle hyväksytään?
Liitä salaamaton PEM-yksityisavain PKCS #8 (BEGIN PRIVATE KEY)-, PKCS #1 (BEGIN RSA PRIVATE KEY)- tai SEC1 (BEGIN EC PRIVATE KEY) -muodossa tai yksityinen JWK, joka sisältää d-jäsenen. Salattuja PEM-tiedostoja ja OpenSSH-yksityisavaimia ei lueta. Avaimen on sovittava algoritmiin, joten ES384 vaatii P-384-avaimen ja RSA-avainten on oltava vähintään 2048 bittiä.
Miten iat ja exp asetetaan?
Kun myöntämisajan asetus on käytössä, iat asetetaan nykyiseen aikaan, ellei hyötykuormassasi ole jo iat-vaatimusta. Kun vanhenemisaika on yli 0 sekuntia, exp asetetaan nykyiseen aikaan lisättynä kyseisellä sekuntimäärällä, ja se korvaa hyötykuorman mahdollisen exp-arvon. Kun vanhenemisaika on 0, exp-arvoa ei lisätä ja hyötykuorman exp-arvo säilytetään.
Mihin kid-kenttää käytetään?
Kun avaimen tunnus ei ole tyhjä, se kirjoitetaan kid-otsakkeeseen, jotta varmentajat voivat valita oikean avaimen JWKS:stä. Jos liität allekirjoitusavaimeksi JWKS:n, kid valitsee myös, mitä joukon avainta käytetään tunnuksen allekirjoittamiseen. JWK-muunnin ja avainten generaattorit näyttävät RFC 7638 -sormenjäljen, joka sopii hyvin kid-arvoksi.
Mitä tulos sisältää?
Saat tiiviin tunnuksen, algoritmin, avaimen tunnuksen, myöntämis- ja vanhenemisajat muodossa UTC sekä allekirjoitetut otsakkeen ja hyötykuorman JSON täsmälleen sellaisina kuin ne allekirjoitettiin. Kopioi tunnus ensimmäisestä lohkosta. Voit dekoodata sen myöhemmin uudelleen JWT-dekooderilla tai tarkistaa sen JWT-varmentajalla.
Tallennetaanko salaisuuksiani tai avaimiani?
Ei. Salaisuus tai yksityisavain kulkee vain tunnuksen allekirjoittavassa pyynnössä, sitä käytetään kerran muistissa eikä sitä koskaan kirjata lokiin tai tallenneta. Käytä silti kokeiluissa testiavainpareja äläkä koskaan liitä tuotannon allekirjoitusavainta mihinkään verkkotyökaluun, ellet hallitse palvelinta.
Onko tiedostokoko rajoitettu?
Hyötykuorma voi olla enintään 65,536 merkkiä ja avain enintään 65,536 merkkiä; kid voi olla enintään 256 merkkiä. Vanhenemisarvot ovat välillä 0–315,360,000 sekuntia, mikä vastaa kymmentä vuotta. Pidemmät syötteet hylätään, ja ilmoituksessa mainitaan kenttä.