B.2.3. rsa-pss-sha512 による完全被覆
B.2.3. Full Coverage Using rsa-pss-sha512 (rsa-pss-sha512 による完全被覆)
本例では, test-request に適用可能なメッセージ構成要素をすべて (コンテンツタイプと長さを含む) 被覆し, さらに多くの派生構成要素 (derived components) を被覆する. 再び rsa-pss-sha512 アルゴリズムを用いる. Host ヘッダーフィールドは被覆しない. 代わりに派生構成要素 @authority を含める.
対応する署名ベースは次のとおり.
注: RFC 8792 に従う \ による行の折り返し.
"date": Tue, 20 Apr 2021 02:07:55 GMT
"@method": POST
"@path": /foo
"@query": ?param=Value&Pet=dog
"@authority": example.com
"content-type": application/json
"content-digest": sha-512=:WZDPaVn/7XgHaAy8pmojAkGWoRx2UFChF41A2svX
+TaPm+AbwAgBWnrIiYllu7BNNyealdVLvRwEmTHWXvJwew==:
"content-length": 18
"@signature-params": ("date" "@method" "@path" "@query"
"@authority" "content-type" "content-digest" "content-length")
;created=1618884473;keyid="test-key-rsa-pss"
これにより, ラベル sig-b23 の下で, メッセージに次の Signature-Input および Signature ヘッダーフィールドが付加される.
注: RFC 8792 に従う \ による行の折り返し.
Signature-Input: sig-b23=("date" "@method" "@path" "@query"
"@authority" "content-type" "content-digest" "content-length")
;created=1618884473;keyid="test-key-rsa-pss"
Signature: sig-b23=:bbN8oArOxYoyylQQUU6QYwrTuaxLwjAC9fbY2F6SVWvh0yB
iMIRGOnMYwZ/5MR6fb0Kh1rIRASVxFkeGt683+qRpRRU5p2voTp768ZrCUb38K0fU
xN0O0iC59DzYx8DFll5GmydPxSmme9v6ULbMFkl+V5B1TP/yPViV7KsLNmvKiLJH1
pFkh/aYA2HXXZzNBXmIkoQoLd7YfW91kE9o/CCoC1xMy7JA1ipwvKvfrs65ldmlu9
bpG6A9BmzhuzF8Eim5f8ui9eH8LZH896+QIF61ka39VBrohr9iyMUJpvRX2Zbhl5Z
JzSRxpJyoEZAFL2FUo5fTIztsDZKEgM4cUA==:
本例では, Date ヘッダーフィールドの値と created 署名パラメータの値が一致する必要はないことに注意する. HTTP メッセージ作成時に Date ヘッダーフィールドが付与され, そのメッセージに対する署名作成時に created パラメータが設定されるため, 両者の時刻は異なり得る. Date ヘッダーフィールドが署名で被覆される場合, その値が created パラメータと一致しなければならないかどうかは検証者が判断する. 詳しくはセクション 7.2.4 を参照のこと.
ここで用いる RSA-PSS アルゴリズムは非決定的であり, 実行のたびに異なる署名値が得られることに注意する. ここに示す署名値は与えられた鍵に対して検証できるが, 新たに生成した署名値が本例と一致するとは限らない. セクション 7.3.5 を参照のこと.