JWT・API用の署名鍵ペアを作る

開発環境でトークン署名用のRSA・EC鍵ペアが必要な時、opensslやサーバーを使わないブラウザ内だけの方法です。

このガイドで使う道具

やりたいこと

RS256 JWTのテストやサービスアカウントの準備には公開鍵・秘密鍵ペアが必要です。ブラウザのWebCryptoが本物の鍵を生成し、秘密側はタブから出ません。

生成と書き出し

RSA-2048/4096・ECDSA P-256・Ed25519(ブラウザ対応時)を選んで生成します。両方ともPEMでダウンロードでき、公開鍵はSPKI、秘密鍵はPKCS#8です。JWKSエンドポイント・環境変数・opensslにそのまま使えます。

  • Ed25519は一部のエンジンで未対応です。対応チェック後に選択肢がグレーになります。
  • 秘密鍵はタブのメモリにしか無いため、すぐに保存してください。

具体例

ローカルJWKS開発: RSA-2048を生成し、public-key.pemをモックの/jwks.jsonルートに置き、private-key.pemでテストトークンに署名すれば、クラウドの鍵サービスなしに全体が動きます。

対応範囲

開発用の鍵であり、本番の鍵管理ではありません。PKCS#8にパスフレーズは無く、監査記録もありません。PEMは標準形式で、JWKやOpenSSH形式は出力しません。