# 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年）です。上限を超える入力は、該当フィールド名を示すメッセージとともに拒否されます。

ここに広告を掲載しませんか？

[メールでお問い合わせ](mailto:hi@dennn.is?subject=OneClick%20Pro%E3%81%A7%E3%81%AE%E5%BA%83%E5%91%8A%E6%8E%B2%E8%BC%89)

[広告 WordPress向けのエージェント対応プラグインスイート。](https://sleekwp.com/?ref=oneclickpro)
