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

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 を参照のこと.