Przejdź do treści

Generator JWT

Twórz podpisane tokeny internetowe JSON na podstawie własnych deklaracji JSON. Wybierz HS256, HS384 lub HS512 ze współdzielonym sekretem, RS256 do PS512 z prywatnym kluczem RSA, ES256 do ES512 z odpowiednim kluczem EC albo EdDSA z kluczem Ed25519 w formacie PEM lub JWK. Generator może dodać nagłówki iat, exp i kid, podpisuje tokeny za pomocą biblioteki jose i wyświetla zwarty token obok zdekodowanego nagłówka i ładunku.

Resetuj

Najczęściej zadawane pytania

Jakich algorytmów podpisu mogę użyć?

Generator obsługuje HS256, HS384 i HS512 ze współdzielonym sekretem; RS256, RS384, RS512, PS256, PS384 i PS512 z prywatnym kluczem RSA; ES256, ES384 i ES512 z prywatnym kluczem EC na krzywej P-256, P-384 lub P-521; oraz EdDSA z prywatnym kluczem Ed25519. Wybrany algorytm jest zapisywany w nagłówku alg, a typ jest zawsze ustawiony na JWT.

Co wpisać jako ładunek?

Wprowadź obiekt JSON zawierający deklaracje, na przykład sub, name, iss, aud lub dowolne własne pole. Tablice, ciągi znaków i inne wartości, które nie są obiektami, są odrzucane, ponieważ ładunek JWT musi być obiektem JSON. Kolejność deklaracji i ich wartości pozostają dokładnie takie, jak je wpisano.

Jak odczytywany jest sekret HMAC?

W przypadku HS256, HS384 i HS512 sekret jest używany jako tekst UTF-8 po usunięciu białych znaków z początku i końca. Jeśli sekret ma postać binarną, wklej go jako JWK, na przykład {"kty": "oct", "k": "..."}, z bajtami zakodowanymi w base64url; zamiast tekstu zostaną użyte zdekodowane bajty. Klucze PEM są odrzucane w przypadku algorytmów HMAC, ponieważ używanie klucza publicznego jako sekretu HMAC to częsty błąd.

Jak długi powinien być sekret HS256?

RFC 7518 wymaga klucza o długości co najmniej równej długości wyniku funkcji skrótu, czyli 32 bajtów dla HS256, 48 dla HS384 i 64 dla HS512. Narzędzie podpisuje tokeny także krótszymi sekretami, aby umożliwić odtworzenie tokenów testowych, ale sekrety produkcyjne powinny być długimi, losowymi wartościami, na przykład wygenerowanymi przez Generator haseł.

Jakie formaty kluczy prywatnych są akceptowane dla RSA, EC i EdDSA?

Wklej niezaszyfrowany klucz prywatny PEM w formacie PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) lub SEC1 (BEGIN EC PRIVATE KEY), albo prywatny JWK zawierający element d. Zaszyfrowane pliki PEM i klucze prywatne OpenSSH nie są odczytywane. Klucz musi pasować do algorytmu, więc ES384 wymaga klucza P-384, a klucze RSA muszą mieć co najmniej 2048 bitów.

Jak ustawiane są iat i exp?

Gdy opcja czasu wydania jest włączona, iat jest ustawiane na bieżący czas, chyba że ładunek zawiera już deklarację iat. Gdy czas wygaśnięcia jest większy niż 0 sekund, exp jest ustawiane na bieżący czas plus podaną liczbę sekund i zastępuje każdą wartość exp z ładunku. Przy czasie wygaśnięcia równym 0 exp nie jest dodawane, a wartość exp z ładunku zostaje zachowana.

Do czego służy pole kid?

Niepusty identyfikator klucza jest zapisywany w nagłówku kid, aby weryfikatory mogły wybrać właściwy klucz z JWKS. Jeśli jako klucz podpisujący wkleisz JWKS, kid wybierze również klucz z tego zestawu, którym zostanie podpisany token. Konwerter JWK i generatory kluczy pokazują odcisk palca RFC 7638, który dobrze nadaje się na kid.

Co zawiera wynik?

Otrzymujesz zwarty token, algorytm, identyfikator klucza, czasy wydania i wygaśnięcia w UTC oraz dokładne JSON nagłówka i ładunku, które zostały podpisane. Skopiuj token z pierwszego bloku. Później zdekoduj go ponownie za pomocą dekodera JWT lub sprawdź go w weryfikatorze JWT.

Czy moje sekrety lub klucze są przechowywane?

Nie. Sekret lub klucz prywatny jest przesyłany wyłącznie w żądaniu podpisującym token, używany raz w pamięci i nigdy nie jest zapisywany w logach ani przechowywany. Mimo to do eksperymentów używaj kluczy testowych i nigdy nie wklejaj produkcyjnego klucza podpisującego do żadnego narzędzia internetowego, chyba że kontrolujesz serwer.

Czy obowiązują limity rozmiaru?

Ładunek może mieć maksymalnie 65,536 znaków, klucz 65,536 znaków, a kid 256 znaków. Czas wygaśnięcia może wynosić od 0 do 315,360,000 sekund, czyli dziesięciu lat. Dłuższe dane są odrzucane, a komunikat wskazuje nazwę pola.

O OneClick Pro

OneClick Pro to bezpłatny zbiór ponad 150 narzędzi internetowych do codziennej pracy: konwertowania obrazów i jednostek, formatowania i walidowania kodu, sprawdzania domen i SEO oraz pracy z tekstem, datami i liczbami. Każde narzędzie działa bez rejestracji i subskrypcji, a wprowadzone dane służą wyłącznie do obliczenia wyniku i nigdy nie są przechowywane. Używaj go jako podręcznego zestawu narzędzi do jednorazowych zadań lub dodaj do zakładek te, z których korzystasz każdego dnia.