B.2.3. Copertura completa con rsa-pss-sha512 (Full Coverage Using rsa-pss-sha512)
B.2.3. Copertura completa con rsa-pss-sha512 (Full Coverage Using rsa-pss-sha512)
Questo esempio copre tutti i componenti del messaggio applicabili in test-request (inclusi content type e content length) più molti componenti derivati, sempre con l'algoritmo rsa-pss-sha512. Si noti che il campo di intestazione Host non è coperto perché al suo posto è incluso il componente derivato @authority.
La corrispondente base della firma è:
NOTA: a capo con '' secondo 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"
Ne consegue che al messaggio vengono aggiunti i seguenti campi Signature-Input e Signature con l'etichetta sig-b23:
NOTA: a capo con '' secondo 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==:
In questo esempio si noti che il valore del campo Date e il valore del parametro di firma created non devono necessariamente coincidere, perché il campo Date viene aggiunto durante la creazione del messaggio HTTP e il parametro created viene valorizzato durante la creazione della firma su quel messaggio, e questi due istanti possono differire. Se il campo Date è coperto dalla firma, spetta al verificatore stabilire se il suo valore debba coincidere o meno con quello del parametro created. Si veda la Sezione 7.2.4.
Si noti che l'algoritmo RSA-PSS usato qui è non deterministico: il valore qui fornito può essere convalidato rispetto alle chiavi indicate, ma i valori generati di nuovo non si attende che coincidano con l'esempio. Si veda la Sezione 7.3.5.