Aller au contenu principal

5.2. Traitement d'un Accept-Signature

5.2. Traitement d'un Accept-Signature

Le récepteur d'un champ Accept-Signature satisfait cet en-tête comme suit :

  1. Analyser la valeur du champ comme un Dictionary.

  2. Pour chaque membre du Dictionary :

    2.1. La clé est prise comme l'étiquette de la signature de sortie comme spécifié à la Section 4.1.

    2.2. Analyser la valeur du membre pour obtenir l'ensemble des identifiants de composants couverts.

    2.3. Déterminer que les composants couverts sont applicables au message cible. Sinon, le processus échoue et renvoie une erreur.

    2.4. Traiter les paramètres demandés, tels que l'algorithme de signature et le matériel de clé. Si des paramètres demandés ne peuvent pas être satisfaits ou si les paramètres demandés entrent en conflit avec ceux jugés appropriés au message cible, le processus échoue et renvoie une erreur.

    2.5. Sélectionner et générer tout paramètre supplémentaire nécessaire pour achever la signature.

    2.6. Créer la signature de message HTTP sur le message cible.

    2.7. Créer les valeurs des champs Signature-Input et Signature, et les associer à l'étiquette.

  3. Éventuellement créer des valeurs de champs Signature-Input et Signature supplémentaires, avec des étiquettes uniques absentes du champ Accept-Signature.

  4. Combiner toutes les valeurs de champs Signature-Input et Signature étiquetées, et attacher les deux champs au message cible.

Par ce processus, une signature appliquée à un message cible DOIT avoir la même étiquette, DOIT inclure le même ensemble de composants couverts, DOIT traiter tous les paramètres demandés, et PEUT avoir des paramètres supplémentaires.

Le récepteur d'un champ Accept-Signature PEUT ignorer toute demande de signature qui ne correspond pas aux paramètres de l'application.

Le message cible PEUT inclure des signatures supplémentaires non spécifiées par le champ Accept-Signature. Par exemple, pour couvrir des composants de message supplémentaires, le signataire peut créer une seconde signature qui inclut les composants supplémentaires ainsi que la sortie de signature de la signature demandée.