Přejít k obsahu

Generátor JWT

Vytvořte podepsaný webový token JSON s vlastními nároky JSON. Vyberte HS256, HS384 nebo HS512 se sdíleným tajemstvím, RS256 až PS512 se soukromým klíčem RSA, ES256 až ES512 s odpovídajícím klíčem EC nebo EdDSA s klíčem Ed25519 ve formátu PEM nebo JWK. Generátor může přidat hlavičku iat, exp a kid, podepíše token pomocí knihovny jose a zobrazí kompaktní token vedle dekódované hlavičky a obsahu.

Obnovit

Často kladené otázky

Které algoritmy podepisování mohu použít?

Generátor podporuje HS256, HS384 a HS512 se sdíleným tajemstvím, RS256, RS384, RS512, PS256, PS384 a PS512 se soukromým klíčem RSA, ES256, ES384 a ES512 se soukromým klíčem EC na křivce P-256, P-384 nebo P-521 a EdDSA se soukromým klíčem Ed25519. Zvolený algoritmus se zapíše do hlavičky alg a typ se vždy nastaví na JWT.

Co mám zadat jako obsah?

Zadejte objekt JSON se svými nároky, například sub, name, iss, aud nebo libovolnou vlastní položku. Pole, řetězce a jiné hodnoty, které nejsou objektem, budou odmítnuty, protože obsah JWT musí být objektem JSON. Pořadí nároků i hodnoty zůstanou přesně tak, jak jste je zadali.

Jak se načítá tajemství HMAC?

U algoritmů HS256, HS384 a HS512 se tajemství použije jako text UTF-8 po odstranění počátečních a koncových mezer. Pokud je vaše tajemství binární, vložte ho jako JWK, například {"kty": "oct", "k": "..."}, s bajty ve formátu base64url; použijí se dekódované bajty. Klíče PEM se pro algoritmy HMAC odmítají, protože použít veřejný klíč jako tajemství HMAC je častá chyba.

Jak dlouhé má být tajemství HS256?

RFC 7518 požaduje klíč alespoň tak dlouhý, jako je výstup hashovací funkce, tedy 32 bajtů pro HS256, 48 pro HS384 a 64 pro HS512. Nástroj podepisuje i s kratšími tajemstvími, abyste mohli reprodukovat testovací tokeny, ale tajemství pro produkční prostředí by měla být dlouhá náhodná hodnota, například vygenerovaná generátorem hesel.

Jaké formáty soukromých klíčů přijímá RSA, EC a EdDSA?

Vložte nešifrovaný soukromý klíč PEM ve formátu PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) nebo SEC1 (BEGIN EC PRIVATE KEY), případně soukromý JWK obsahující položku d. Šifrované soubory PEM a soukromé klíče OpenSSH se nenačítají. Klíč musí odpovídat algoritmu, takže ES384 vyžaduje klíč P-384 a klíče RSA musí mít alespoň 2048 bitů.

Jak se nastavují iat a exp?

Když je zapnutá možnost vydání tokenu, iat se nastaví na aktuální čas, pokud váš obsah už nárok iat neobsahuje. Pokud je platnost delší než 0 sekund, exp se nastaví na aktuální čas plus zadaný počet sekund a nahradí případné exp ve vašem obsahu. Při platnosti 0 se exp nepřidá a případné exp z obsahu zůstane zachováno.

K čemu slouží pole kid?

Neprázdné ID klíče se zapíše do hlavičky kid, aby ověřovatelé mohli vybrat správný klíč z JWKS. Pokud jako podpisový klíč vložíte JWKS, kid také určí, který klíč ze sady token podepíše. Převodník JWK a generátory klíčů zobrazují otisk podle RFC 7638, který se hodí jako kid.

Co obsahuje výsledek?

Získáte kompaktní token, algoritmus, ID klíče, časy vydání a expirace v UTC a přesné objekty hlavičky a obsahu JSON, které byly podepsány. Token zkopírujte z prvního bloku. Později ho znovu dekódujte pomocí dekodéru JWT nebo ověřte ověřovačem JWT.

Ukládají se moje tajemství nebo klíče?

Ne. Tajemství nebo soukromý klíč se přenese pouze v požadavku, který token podepisuje, jednou se použije v paměti a nikdy se nezaznamená ani neuloží. I tak při testování upřednostňujte testovací klíče a nikdy nevkládejte produkční podpisový klíč do žádného webového nástroje, pokud server nemáte pod kontrolou.

Platí nějaké omezení velikosti?

Obsah může mít až 65,536 znaků, klíč až 65,536 znaků a kid až 256 znaků. Platnost může být v rozsahu od 0 do 315,360,000 sekund, tedy deseti let. Delší vstupy budou odmítnuty zprávou, která uvádí název pole.

O OneClick Pro

OneClick Pro je bezplatná kolekce více než 150 webových nástrojů pro každodenní práci: převod obrázků a jednotek, formátování a ověřování kódu, kontrolu domén a SEO i práci s textem, daty a čísly. Každý nástroj funguje bez registrace či předplatného a zadané údaje se používají pouze k výpočtu výsledku a nikdy se neukládají. Používejte ji jako rychlou sadu nástrojů pro jednorázové úkoly nebo si uložte do záložek nástroje, na které se každý den spoléháte.