てぶら

JWT エンコード・署名

JSON形式のヘッダーとペイロード、シークレットキーからJWT(JSON Web Token)を生成・署名します。HS256・HS384・HS512のHMACアルゴリズムにWeb Crypto APIで対応し、すべてブラウザ上で完結します。

JWT エンコード・署名について

JWTの署名には大きく分けて共有鍵を使うHMAC方式(HS256など)と、公開鍵・秘密鍵のペアを使うRSA/ECDSA方式(RS256・ES256など)があります。HMAC方式は実装がシンプルな一方、検証側も同じ秘密鍵を持つ必要があるため、サーバー間など鍵を安全に共有できる環境向きです。

このツールはWeb Crypto API(crypto.subtle)を使ってHS256・HS384・HS512形式の署名をブラウザ内で計算するため、開発中のAPIテストで有効期限付きのトークンをその場で発行し、認証ヘッダーに貼り付けてすぐに動作確認する、といった使い方に向いています。

主な使い方

  • 1開発環境でAPIテスト用のJWTを手軽に生成して認証ヘッダーに使う
  • 2iat・expなどのクレームを指定した有効期限付きJWTをすばやく作成する
  • 3HS256・HS384・HS512の違いによる署名結果の変化を確認する
  • 4バックエンドのJWT検証ロジックのテストデータとして署名済みトークンを用意する

よくある質問

Q. 対応しているアルゴリズムは何ですか?

A. HMACベースのHS256・HS384・HS512に対応しています。RS256など公開鍵暗号方式の署名は対象外です。

Q. 入力したシークレットキーはサーバーに送信されますか?

A. いいえ。署名生成はブラウザのWeb Crypto API(crypto.subtle)で行われ、シークレットやペイロードが外部に送信されることはありません。また、プリセット保存や共有リンクにもシークレットは含まれません。

Q. iatやexpクレームを自動設定できますか?

A. はい。「iatを現在時刻に設定」ボタンや「expを◯分後に設定」ボタンから、ペイロードのタイムスタンプ系クレームを自動入力できます。

Q. 生成したJWTの正しさはどのように検証されていますか?

A. jwt.ioの公式サンプル(ヘッダー・ペイロード・シークレットが既知の例)と生成結果が完全一致することをユニットテストで検証しています。

生成ツールの一覧を見る →