Aller au contenu principal

B.2.2. Composants couverts sélectifs avec rsa-pss-sha512

B.2.2. Composants couverts sélectifs avec rsa-pss-sha512

Cet exemple couvre des composants supplémentaires (l'autorité, le champ d'en-tête Content-Digest et un paramètre de requête nommé unique) dans test-request avec l'algorithme rsa-pss-sha512. Il ajoute aussi un paramètre tag avec la valeur propre à l'application header- example.

La base de signature correspondante est :

NOTE: '' line wrapping per RFC 8792

"@authority": example.com "content-digest": sha-512=:WZDPaVn/7XgHaAy8pmojAkGWoRx2UFChF41A2svX
+TaPm+AbwAgBWnrIiYllu7BNNyealdVLvRwEmTHWXvJwew==: "@query-param";name="Pet": dog "@signature-params": ("@authority" "content-digest"
"@query-param";name="Pet")
;created=1618884473;keyid="test-key-rsa-pss"
;tag="header-example"

Il en résulte l'ajout au message des champs d'en-tête Signature-Input et Signature suivants sous l'étiquette sig-b22 :

NOTE: '' line wrapping per RFC 8792

Signature-Input: sig-b22=("@authority" "content-digest"
"@query-param";name="Pet");created=1618884473
;keyid="test-key-rsa-pss";tag="header-example" Signature: sig-b22=:LjbtqUbfmvjj5C5kr1Ugj4PmLYvx9wVjZvD9GsTT4F7GrcQ
EdJzgI9qHxICagShLRiLMlAJjtq6N4CDfKtjvuJyE5qH7KT8UCMkSowOB4+ECxCmT
8rtAmj/0PIXxi0A0nxKyB09RNrCQibbUjsLS/2YyFYXEu4TRJQzRw1rLEuEfY17SA
RYhpTlaqwZVtR8NV7+4UKkjqpcAoFqWFQh62s7Cl+H2fjBSpqfZUJcsIk4N6wiKYd
4je2U/lankenQ99PZfB4jY3I5rSV2DSBVkSFsURIjYErOs0tFTQosMTAoxk//0RoK
UqiYY8Bh0aaUEb0rQl3/XaVe4bXTugEjHSw==:

Notez que l'algorithme RSA-PSS employé ici est non déterministe, c'est-à-dire qu'une valeur de signature différente sera produite à chaque exécution de l'algorithme. La valeur de signature fournie ici peut être validée avec les clés données, mais on ne s'attend pas à ce que les valeurs nouvellement générées correspondent à l'exemple. Voir la section 7.3.5.