# JWT検証ツール

JSONWeb Tokenが本物で、まだ有効かどうかを確認します。トークンとともに、HMACシークレット、PEM公開鍵、証明書、JWK、またはJWKS全体を貼り付けてください。検証ツールはjoseライブラリで署名を確認し、expとnbfを現在時刻および任意の時刻許容差と照合して、デコード済みのヘッダーとクレームの横に明確な判定を表示します。algがnoneのトークンは受け付けません。

## よくある質問

### 検証ツールでは何を確認しますか？

指定された鍵で署名を確認し、expクレームとnbfクレームを現在時刻と照合します。署名が一致し、どちらの時刻確認にも失敗しなかった場合にのみ、有効と判定されます。iss、aud、subなどのクレームはペイロードに表示されますが、想定値との照合は行われません。

### どの鍵を貼り付けられますか？

HS256、HS384、HS512の場合は、共有シークレットをテキストまたはoct JWKとして貼り付けてください。RSA、EC、EdDSAトークンの場合は、PEM公開鍵（SPKIまたはPKCS #1）、X.509証明書、公開または秘密JWK、最大50個の鍵を含むJWKS、または秘密PEM鍵を貼り付けてください。秘密PEM鍵の場合、公開部分のみが使用されます。

### JWKSから適切な鍵はどのように選ばれますか？

トークンヘッダーにkidがある場合、セット内で同じkidを持つ鍵が使用され、一致する鍵がないときはエラーにkidが示されます。kidがない場合、セットには鍵がちょうど1つ含まれている必要があります。これは、ほとんどのサーバーがjwks_uriドキュメントから鍵を選ぶ方法と同じです。

### アルゴリズムオプションは何をしますか？

「トークンのalgを使用」を選ぶと、アルゴリズムはトークンヘッダーから取得されますが、鍵もそのアルゴリズムに適合している必要があります。そのため、RSA公開鍵をHMACシークレットとして使うことはできません。特定のアルゴリズムを選ぶと、トークンがそのアルゴリズムを使用することも必須になります。これは、サーバーが想定するアルゴリズムを固定する方法です。別のalgを持つトークンは、両方の名前を示して拒否されます。

### algがnoneのトークンが拒否されるのはなぜですか？

algがnoneのトークンには署名がないため、検証するものがなく、誰でも作成できてしまいます。このようなトークンを受け入れることは、JWTライブラリでよく知られた脆弱性です。この検証ツールは、有効な結果ではなくエラーとして報告します。

### exp、nbf、クロック許容誤差はどのように機能しますか？

expが現在時刻以前の場合、トークンは期限切れと見なされます。nbfが現在時刻より後の場合は、まだ有効ではないと見なされます。0〜3600秒のクロック許容誤差を設定すると、サーバー間の時刻ずれを考慮して両方のチェックに猶予が加わります。存在するクレームが数値でない場合、トークンは無効になります。

### 署名が無効とはどういう意味ですか？

トークンが指定した鍵で署名されていないか、署名後にヘッダーまたはペイロードが変更されています。一致する公開鍵またはシークレットを、文字を正確に保って貼り付けたことと、トークン全体をコピーしたことを確認してください。デコードされたヘッダーとペイロードは引き続き表示されるので、比較できます。

### どのアルゴリズムに対応していますか？

HS256、HS384、HS512、RS256、RS384、RS512、PS256、PS384、PS512、ES256、ES384、ES512、およびEd25519鍵を使うEdDSAに対応しています。RSA鍵は少なくとも2048ビットである必要があります。暗号化トークン（JWE）は復号されません。

### トークンや鍵は保存されますか？

いいえ。トークンと鍵はこの検証のためにメモリ上でのみ使用され、ログ記録も保存もされません。公開鍵は共有しても安全ですが、HMACシークレットは慎重に扱い、漏えいした疑いがあるシークレットはローテーションしてください。

### トークンと鍵の最大サイズはどれくらいですか？

トークンは最大65,536文字、鍵フィールドは最大262,144文字まで入力でき、大きなJWKSドキュメントにも対応します。トークンはドットで区切られた3つのbase64urlパートで構成され、ヘッダーにはalgメンバーを含むJSON、ペイロードにはJSONオブジェクトが必要です。

ここに広告を掲載しませんか？

[メールでお問い合わせ](mailto:hi@dennn.is?subject=OneClick%20Pro%E3%81%A7%E3%81%AE%E5%BA%83%E5%91%8A%E6%8E%B2%E8%BC%89)

[広告 WordPress向けのエージェント対応プラグインスイート。](https://sleekwp.com/?ref=oneclickpro)
