JWTとは
JWT(JSON Web Token)は、クレームをJSONオブジェクトとして伝えるコンパクトな表現です。一般的な署名付きJWTは、Base64urlで表したHeader・Payload・Signatureの3区切りです。暗号化されたJWE Compactは5区切りです。
このツールが確認する内容
Base64urlの文字種・長さ・正規表現、UTF-8、JSONオブジェクトを厳密に確認します。3区切りではHeaderとPayload、Signatureのバイト数を表示します。5区切りではProtected HeaderだけをJSONとして読み、Encrypted Key・IV・Ciphertext・Authentication Tagはサイズだけを表示します。
署名検証とデコードの違い
デコードは文字列を読みやすい形へ戻す処理です。署名検証には信頼できる鍵、許可するアルゴリズム、発行者や対象者などの検証条件が必要です。本ツールはそれらを受け取らないため、結果をセキュリティ判断に使用できません。
登録済みクレームとNumericDate
issは発行者、subは主体、audは対象者、jtiは識別子です。exp・nbf・iatは1970-01-01T00:00:00Zからの秒数で表すNumericDateです。本ツールは端末の現在時刻と直接比較し、許容誤差は加えません。
セキュリティ上の注意
alg、kid、jku、x5uなどは表示するだけで信用せず、URLにもアクセスしません。cty: JWTでも入れ子を自動デコードしません。アクセストークンには個人情報や権限情報が含まれることがあるため、公開端末や第三者への共有を避けてください。
仕様:RFC 7519 (JWT)、RFC 7515 (JWS)、RFC 7516 (JWE)、RFC 4648 (Base64url)
よくある質問
JWTとは何ですか?
JSON Web Tokenの略で、クレームをJSONとして運ぶためのコンパクトな表現です。
このツールはJWTの署名を検証しますか?
いいえ。構造をデコードするだけで、署名の正当性や完全性は検証しません。
JWTを入力しても安全ですか?
処理はブラウザ内だけで行い、入力を外部へ送信・保存しません。ただし秘密情報を含むトークンの共有は避けてください。
3区切りと5区切りの違いは何ですか?
3区切りはJWS Compact、5区切りはJWE Compactです。
JWEを復号できますか?
いいえ。Protected Headerと各暗号部分のバイト数だけを表示し、暗号文は復号しません。
expとは何ですか?
有効期限をUnix時刻の秒で表します。現在時刻以降かを表示しますが、署名や発行者は別途検証が必要です。
nbfとは何ですか?
トークンを受け入れてよい時刻をUnix時刻の秒で表します。
iatとは何ですか?
トークンが発行された時刻をUnix時刻の秒で表します。
Bearer付きの文字列も使えますか?
はい。先頭のBearerと空白を取り除いてデコードします。
alg noneは安全ですか?
署名なしを示します。本ツールでは警告を表示し、完全性を保証しません。
kidやjkuのURLへアクセスしますか?
いいえ。Header値は文字列として表示するだけで、鍵やURLを取得しません。
デコード結果が正しければJWTも有効ですか?
いいえ。構文を読めることと署名・発行者・対象者・有効期限などの検証は別です。