コンテンツへスキップ

JWTジェネレーター

独自のJSONクレームから署名済みJSONWeb Tokenを作成します。共有シークレットを使うHS256、HS384、HS512、RSA秘密鍵を使うRS256〜PS512、対応するEC鍵を使うES256〜ES512、またはPEMかJWK形式で指定するEd25519鍵を使うEdDSAを選択できます。iat、exp、kidヘッダーを追加でき、joseライブラリで署名します。コンパクトトークンは、デコード済みのヘッダーとペイロードと並べて表示されます。

リセット

よくある質問

どの署名アルゴリズムを使用できますか?

共有シークレットではHS256、HS384、HS512、RSA秘密鍵ではRS256、RS384、RS512、PS256、PS384、PS512、EC秘密鍵ではP-256、P-384、P-521の鍵を使うES256、ES384、ES512、Ed25519秘密鍵ではEdDSAを使用できます。選択したアルゴリズムはalgヘッダーに記録され、typは常にJWTに設定されます。

ペイロードには何を入力すればよいですか?

クレームを含むJSONオブジェクトを入力してください。たとえば、sub、name、iss、aud、または任意のカスタムメンバーを指定できます。JWTのペイロードはJSONオブジェクトでなければならないため、配列、文字列など、オブジェクト以外の値は受け付けません。クレームの順序と値は入力したとおりに保持されます。

HMACシークレットはどのように読み込まれますか?

HS256、HS384、HS512では、シークレットは前後の空白を取り除いた後、UTF-8テキストとして使用されます。シークレットがバイナリの場合は、バイト列をbase64urlで指定した{"kty": "oct", "k": "..."}のようなJWKとして貼り付けると、デコードされたバイト列が使用されます。公開鍵をHMACシークレットとして使うのはよくある誤りのため、HMACアルゴリズムではPEM鍵を受け付けません。

HS256シークレットの長さはどのくらい必要ですか?

RFC 7518では、ハッシュ出力と同じ長さ以上の鍵が求められます。そのため、HS256では32バイト、HS384では48バイト、HS512では64バイトが必要です。テスト用トークンを再現できるよう、このツールでは短いシークレットでも署名できますが、本番用シークレットには、たとえばパスワードジェネレーターで生成した、長くランダムな値を使用してください。

RSA、EC、EdDSAでは、どの秘密鍵形式を使用できますか?

暗号化されていないPEM秘密鍵(PKCS #8(BEGIN PRIVATE KEY)、PKCS #1(BEGIN RSA PRIVATE KEY)、SEC1(BEGIN EC PRIVATE KEY)形式)、またはdメンバーを含む秘密JWKを貼り付けてください。暗号化されたPEMファイルとOpenSSH秘密鍵は読み込めません。鍵はアルゴリズムに適合している必要があります。たとえば、ES384にはP-384鍵が必要で、RSA鍵は少なくとも2048ビット必要です。

iatとexpはどのように設定されますか?

発行時刻オプションがオンの場合、ペイロードにiatクレームがすでに含まれていなければ、iatには現在時刻が設定されます。有効期限が0秒を超える場合、expには現在時刻に指定秒数を加えた値が設定され、ペイロード内のexpは置き換えられます。有効期限が0の場合、expは追加されず、ペイロード内にexpがあればそのまま保持されます。

kidフィールドは何に使いますか?

空でない鍵IDはkidヘッダーに記録され、検証側がJWKSから正しい鍵を選べるようにします。署名鍵としてJWKSを貼り付けた場合、kidはセット内でトークンの署名に使う鍵の選択にも使われます。JWKコンバーターと鍵ジェネレーターにはRFC 7638のサムプリントが表示されるため、kidに適しています。

結果には何が含まれますか?

コンパクトトークン、アルゴリズム、鍵ID、UTC形式の発行時刻と有効期限、および署名された正確なヘッダーとペイロードのJSONが表示されます。最初のブロックからトークンをコピーしてください。後でJWTデコーダーで再度デコードするか、JWT検証ツールで確認できます。

シークレットや鍵は保存されますか?

いいえ。シークレットまたは秘密鍵はトークンに署名するリクエストでのみ送信され、メモリ内で一度だけ使用されます。ログに記録されたり保存されたりすることはありません。それでも、実験にはテスト用の鍵を使い、サーバーを自分で管理していない限り、本番用署名鍵をウェブツールに貼り付けないでください。

ファイルサイズの上限はありますか?

ペイロードは65,536文字、鍵は65,536文字、kidは256文字まで指定できます。有効期限は0〜315,360,000秒(10年)です。上限を超える入力は、該当フィールド名を示すメッセージとともに拒否されます。

OneClick Proについて

OneClick Proは、日々の作業に役立つ150以上のウェブツールを集めた無料コレクションです。画像や単位の変換、コードの整形と検証、ドメインやSEOの確認、テキスト、日付、数値の処理などに利用できます。すべてのツールは登録やサブスクリプションなしで使えます。入力した内容は結果の計算にのみ使用され、保存されることはありません。単発の作業に使える便利なツールボックスとして、または毎日使うツールをブックマークしてご活用ください。