3.3.1. SHA-512 を用いた RSASSA-PSS
3.3.1. SHA-512 を用いた RSASSA-PSS
このアルゴリズムで署名するには, 署名者は [RFC8017] で定義される RSASSA-PSS-SIGN (K, M) 関数を, 署名者の秘密署名鍵 (K) および署名ベース (M) (2.5 節) に適用する. マスク生成関数は [RFC8017] で指定される MGF1 であり, ハッシュ関数は SHA-512 [RFC6234] である. ソルト長 (sLen) は 64 バイトである. ハッシュ関数 (Hash) SHA-512 [RFC6234] を署名ベースに適用してダイジェスト内容を作成し, デジタル署名を適用する. 得られた署名内容のバイト列 (S) が 3.1 節で用いる HTTP メッセージ署名の出力である.
このアルゴリズムで検証するには, 検証者は [RFC8017] の RSASSA-PSS-VERIFY ((n, e), M, S) 関数を, 検証鍵素材の公開鍵部分 (n, e) および 3.2 節で述べるとおり再作成した署名ベース (M) に適用する. マスク生成関数は [RFC8017] で指定される MGF1 であり, ハッシュ関数は SHA-512 [RFC6234] である. ソルト長 (sLen) は 64 バイトである. ハッシュ関数 (Hash) SHA-512 [RFC6234] を署名ベースに適用してダイジェスト内容を作成し, 検証関数を適用する. 検証者は 3.2 節で述べるとおり検証対象の HTTP メッセージ署名 (S) を取り出す. 検証関数の結果が, 提示された署名が有効かどうかを示す.
RSASSA-PSS アルゴリズムの出力は非決定的であるため, 署名ベースに対して新たに署名を再計算し結果を既存の署名と比較することは正しくない. 代わりに, ここで定義される検証アルゴリズムを用いる必要がある. 7.3.5 節を参照のこと.
このアルゴリズムの使用は, alg 署名パラメータに rsa-pss-sha512 値を用いることで実行時に示してよい.