JWTデコーダーについて
hidevtool の JWT デバッガーはブラウザ内で JSON Web Token をデコードします。Header / Payload の JSON、署名アルゴリズムを確認し、HMAC 秘密鍵や PEM 公開鍵で任意の署名検証もできます。
検証はすべてローカルで実行され、トークンと鍵はアップロードされません。
できること
JWT とは
JSON Web Token は Header.Payload.Signature の 3 セグメントを Base64URL で連結したコンパクトな文字列です。ユーザー ID、ロール、有効期限などのクレームを載せ、デジタル署名や MAC で改ざん検知を行います。
3 部分の説明
- Header — typ(多くは JWT)と alg(署名アルゴリズム)を含む JSON。
- Payload — sub、exp、iat などの JSON クレーム。
- Signature — 発行者の鍵で前 2 段を署名したもの。改ざんすると検証に失敗します。
よくある Payload クレーム
- sub — 主体(ユーザーまたはクライアント ID)。
- exp — 失効時刻(Unix 秒)。過ぎると無効。
- iat / nbf — 発行時刻と有効開始。時刻ずれの確認に使う。
- aud / iss — API が検証する場合のオーディエンスと発行者。
検証鍵の種類
- HMAC(HS256/384/512)— トークン署名に使った共有秘密を貼る。
- RSA / ECDSA(RS、PS、ES)— 署名側の秘密鍵に対応する SPKI PEM 公開鍵を貼る。
安全に使う
- 1本番秘密鍵は信頼できる環境だけで使う。ローカル処理でも鍵は機密として扱う。
- 2exp / nbf を確認してからトークンを信頼する。本ツールは時刻クレームを読みやすい形式で表示します。
- 3Header の alg は渡す鍵と一致させる。想定外 alg のトークンは拒否する。
- 4JWT は署名のみで暗号化ではない。トークン保持者は Payload を読める(JWE でない限り)。
- 5OAuth/OIDC では短命のアクセストークンと鍵ローテーションを検討する。
よくある使い方
OAuth / OpenID
IdP からの access / ID トークンを確認し、設定した秘密または JWKS 公開鍵でローカル検証する。
API ゲートウェイ
Kong、NGINX、クラウド API で拒否されたトークンの alg、クレーム、署名をローカルで照合する。
セッション Cookie
アプリが Cookie に載せた JWT をサーバー送信なしでデコードし、期限とロールを確認する。
よくある質問
- どの JWT 署名 alg を検証できますか?
- 本ページはブラウザ内で以下の Header alg を検証できます(計 12 種類): HMAC(対称鍵を入力):HS256, HS384, HS512 RSA PKCS#1(SPKI PEM 公開鍵):RS256, RS384, RS512 RSA-PSS(SPKI PEM 公開鍵):PS256, PS384, PS512 ECDSA(SPKI PEM 公開鍵):ES256, ES384, ES512 非対応:alg が none、EdDSA(Ed25519 など)、および上記以外の alg。公開鍵は BEGIN PUBLIC KEY の SPKI PEM 形式である必要があります。
- JWT をオンラインでデコードするには?
- JWT フィールドにトークンを貼る。構造が valid なら Header / Payload が整形 JSON で表示されます。
- 署名をオンラインで検証するには?
- トークン貼り付け後、Header の alg に合う HMAC 秘密または PEM 公開鍵を入力。一致するか結果が表示されます。
- 検証が none やスキップになるのはなぜ?
- alg が none、トークンが壊れている、鍵が合わない場合は検証できません。HS/RS/PS/ES では対応する鍵材料が必要です。
- JWT 秘密鍵はサーバーに送られますか?
- いいえ。デコードと検証はすべてブラウザ内で完結します。