Aller au contenu principal

4.1. Le champ HTTP Signature-Input

4.1. Le champ HTTP Signature-Input

Le champ Signature-Input est un champ structuré de type Dictionary (défini à la Section 3.2 de [STRUCTURED-FIELDS]) contenant les métadonnées d'une ou plusieurs signatures de message générées à partir de composants du message HTTP. Chaque membre décrit une signature de message unique. La clé du membre est l'étiquette qui identifie de façon unique la signature de message dans le message HTTP. La valeur du membre est l'ensemble ordonné des composants couverts sérialisé comme Inner List, incluant tous les paramètres de métadonnées de signature identifiés par l'étiquette :

NOTE: pliage de ligne '' selon RFC 8792

Signature-Input: sig1=("@method" "@target-uri" "@authority"
"content-digest" "cache-control");
created=1618884475;keyid="test-key-rsa-pss"

Pour faciliter la validation de la signature, la valeur du champ Signature-Input DOIT contenir la même valeur sérialisée que celle utilisée pour produire la valeur @signature-params de la base de signature définie à la Section 2.3. Notez que, dans une valeur de champ structuré, l'ordre de la liste et l'ordre des paramètres doivent être préservés.

Le signataire PEUT inclure le champ Signature-Input comme trailer afin de faciliter la signature d'un message après que son contenu a été traité par le signataire. Toutefois, comme les intermédiaires sont autorisés à supprimer les trailers conformément à [HTTP], il est RECOMMANDÉ que le champ Signature-Input ne soit inclus que comme champ d'en-tête pour éviter que des signatures ne soient retirées du message par inadvertance.

Plusieurs champs Signature-Input PEUVENT être inclus dans un seul message HTTP. Les étiquettes de signature DOIVENT être uniques pour toutes les valeurs de champ.