メインコンテンツまでスキップ

3.3.7. JSON Web Signature (JWS) アルゴリズム (JSON Web Signature (JWS) Algorithms)

3.3.7. JSON Web Signature (JWS) アルゴリズム (JSON Web Signature (JWS) Algorithms)

署名アルゴリズムが [RFC7518] により確立された「JSON Web Signature and Encryption Algorithms」レジストリに掲載される JSON Object Signing and Encryption (JOSE) 署名アルゴリズムである場合, JWS アルゴリズム定義が署名と検証の双方に適用する署名アルゴリズムおよびハッシュアルゴリズムを決定する.

署名と検証の双方において, HTTP メッセージの署名ベース (2.5 節) が「JWS Signing Input」全体として用いられる. JOSE ヘッダ (Header) [JWS] [RFC7517] は用いず, アルゴリズムを適用する前に署名ベースを Base64 エンコードしてはならない (MUST NOT). JWS Signature の出力は, JOSE で用いられる Base64url エンコードの前のバイト列として扱う.

JWS アルゴリズムは "none" であってはならず (MUST NOT), JOSE の実装要件 (Implementation Requirement) が "Prohibited" であるアルゴリズムもあってはならない (MUST NOT).

「JSON Web Signature and Encryption Algorithms」レジストリの JSON Web Algorithm (JWA) の値は署名パラメータには含めない. 通常, JWS アルゴリズムは JSON Web Keys (JWK) または JOSE 実装で一般的なその他の手段で通知できる. 実際, JWA の値は「HTTP Signature Algorithms」レジストリ (6.2 節) には登録されないため, JOSE 署名アルゴリズムを用いる場合は明示的な alg 署名パラメータはまったく用いない.