本文へスキップ
JWT & keys

JWKS ジェネレーター

RSA 2048bit 鍵ペアを生成し、kid を管理しながら
公開鍵のみを含む JWKS(JSON Web Key Set)を作成できるツールです。
生成した秘密鍵を使って RS256 署名付き JWT を作成し、ペイロード内容を確認したり、各結果をワンクリックでコピーできます。

ガイド: 使い方・特徴

  • 必要に応じて kid を入力し、「RSA 2048bit 鍵を生成」で鍵と JWKS を作成します。
  • 公開鍵は JWKS(JSON Web Key Set) としてコピーでき、秘密鍵は PKCS#8 形式で保持します。
  • ペイロード JSON を編集して「JWT を作成」を押すと RS256 署名付きトークンが生成されます。

サンプル: 入力例と出力例

Publish an RSA key

入力例

Algorithm: RS256
Key ID: demo-key

出力例

{
  "keys": [
    {
      "kty": "RSA",
      "kid": "demo-key",
      "alg": "RS256",
      "use": "sig",
      "n": "u0fKsY6LQyqQy1vny7H2X7bqY7HWe8soT0x6XPrmT5w",
      "e": "AQAB"
    }
  ]
}

FAQ: よくある質問

  • JWKSとは何ですか?kid は何のためにありますか?

    JWKS(JSON Web Key Set)は、トークンを検証する側が使う公開鍵を配布するためのJSON形式の鍵集合です。kid(Key ID)は各鍵を識別する名前で、JWTのヘッダーに含まれるkidとJWKS内の鍵を突き合わせることで、鍵をローテーションしても「どの鍵で検証すべきか」を特定できます。
  • 生成したJWKSに秘密鍵は含まれますか?

    いいえ。JWKSには公開鍵のみが含まれ、秘密鍵(PKCS#8 PEM)は別に表示されます。秘密鍵は署名側だけが厳重に保管し、JWKSのように公開してよいのは公開鍵だけです。鍵生成も署名もすべてブラウザ内で完結し、外部に送信されません。
  • RS256(このツール)とHS256の違いは何ですか?

    RS256はRSAを使う非対称署名で、秘密鍵で署名し公開鍵で検証します。検証側に公開鍵だけを配ればよいため、検証者が多い構成に向きます。HS256は単一の共有シークレットで署名・検証する対称方式で、シンプルですが鍵を全員が持つ必要があります。

使いどころ: よくある使いどころ

  • 公開鍵セットの検証

    JWKS エンドポイントから鍵を取得して kid や alg を確認し、想定の署名アルゴリズムかどうかをチェックできます。

  • ローテーションの確認

    新旧のキーが並存しているかを可視化し、発行側と検証側のタイミングずれを早期に把握できます。

  • デバッグ情報の共有

    取得した JSON を整形して共有し、外部 IdP との連携トラブルをチームで調査しやすくします。

注意点: 注意点・制限

  • 処理はブラウザ内で完結

    入力と出力は端末内にとどまります。タブを閉じたりキャッシュを消すと、一時的な状態はリセットされます。

  • 重要データは必ず確認

    結果はあくまで補助です。システムに投入する前に内容を確認し、必要に応じて社内ルールに沿って検証してください。

  • 大きなデータは端末性能に依存

    長文や大容量を扱うとブラウザが重くなる場合があります。処理が遅いときはデスクトップ環境の利用を推奨します。

鍵生成や署名はすべてブラウザ内で完結し、送信されません。

利用中の kid -

JWKS には公開鍵のみが含まれます。

RS256 署名には生成した秘密鍵を使います。

JWKS・RSA鍵セットジェネレーター

JSON Web Key Set (JWKS) および RSA鍵ペア(公開鍵・秘密鍵)をブラウザ上で即座に生成するセキュリティツールです。
OIDC(OpenID Connect)や OAuth 2.0 に準拠した認証サーバーやアイデンティティプロバイダ(IdP)のモック構築時、トークン署名検証用の JWKS エンドポイントをテストする際などに活躍します。手元でOpenSSLコマンドを打ち込む手間を省き、すぐにテスト用JWTを発行可能な状態へとサポートします。

認証連携のテストで役立つ場面

JWT署名検証を行うアプリケーションでは、公開鍵の配布形式であるJWKSを正しく読み込めるかが重要です。開発中のAPI、認証ミドルウェア、OIDCクライアントのテストでは、本番のIdPを使わずに検証用の鍵セットを用意したい場面があります。
このツールで生成したJWKSを使うと、kid の指定、公開鍵のローテーション、署名検証エラー時の挙動などをローカル環境で確認しやすくなります。認証まわりの実装を切り分けるためのモックとしても便利です。

秘密鍵の扱いについて

生成した秘密鍵は署名に使える重要な情報です。テスト用途に限定し、本番環境の鍵として使い回さないでください。画面上で生成した値を共有する場合も、秘密鍵を含める必要があるかを確認し、不要であれば公開鍵またはJWKSだけを共有する運用が安全です。処理はブラウザ内で完結しますが、保存先や貼り付け先の管理には注意が必要です。

おすすめリソース

このセクションにはアフィリエイトリンクが含まれる場合があります。リンク経由で購入すると、追加費用なしでDevToolKits.appが紹介料を受け取ることがあります。

このツールの関連記事

最新記事

活用事例
2026-08-07

curlコマンドのオプション早見表|-X -H -d の意味と落とし穴

curlの主要オプションを早見表で整理。-X と -d の関係、-d と --data-raw の違い、@ で始まる値がファイル読み込みになる罠、シングルクォートとダブルクォートの使い分け、-L や -k を安易に付けない理由まで実例で解説します。

ツール紹介
2026-08-06

JSON SchemaとZodを相互変換する仕組み|requiredと.optional()の対応

JSON SchemaからZodスキーマを生成し、Zodのコードから逆にJSON Schemaを書き出す双方向変換ツールの実装を解説。requiredと.optional()で既定値が逆転している問題、formatや制約の対応表、コードを実行せずに解析する方法まで整理します。

活用事例
2026-08-06

SQLの句の評価順リファレンス|WHEREでSELECTの別名が使えない理由

SQLは書いた順に実行されません。論理的な評価順(FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT)を軸に、別名がWHEREで使えない理由、WHEREとHAVINGの使い分け、ONLY_FULL_GROUP_BY、COUNT(*)とCOUNT(列)の差、LEFT JOIN+WHEREの罠を実例で整理します。

活用事例
2026-08-06

unified diff形式の読み方リファレンス|@@ の数字とgit diffの出力

git diffが出力するunified diff形式の読み方を整理。@@ -12,7 +12,9 @@ の4つの数字の意味、コンテキスト行、空白だけの変更が行全体の置換に見える理由、\ No newline at end of file、マージ時の @@@、リネーム検出の similarity index までを実例で解説します。

活用事例
2026-08-06

UTC⇄JST変換リファレンス|時差9時間の早見表とタイムゾーン事故の防ぎ方

UTCとJSTの変換を早見表で整理。ISO 8601のZと+09:00の意味、JavaScriptの日付パースでズレる条件、MySQL/PostgreSQLのタイムゾーン挙動、GitHub ActionsのcronがUTCで動く罠まで実例付きで解説します。

活用事例
2026-08-04

CREATE TABLE リファレンス|MySQL・PostgreSQL・SQLiteの型と制約の違い

CREATE TABLE文(DDL)の書き方を3データベース横断の早見表で整理。型対応表、自動採番(AUTO_INCREMENT / IDENTITY / rowid)の方言差、外部キーのON DELETE挙動、CHECK制約が無視される罠まで実例付きで解説します。

広告

広告