5.2. Elaborazione di Accept-Signature (Processing an Accept-Signature)
5.2. Elaborazione di Accept-Signature (Processing an Accept-Signature)
Il ricevente di un campo Accept-Signature soddisfa quell'intestazione come segue:
-
Analizzare il valore del campo come Dictionary.
-
Per ogni membro del Dictionary:
2.1. La chiave è presa come etichetta della firma di output come specificato nella Sezione 4.1.
2.2. Analizzare il valore del membro per ottenere l'insieme di identificatori di componenti coperti.
2.3. Stabilire che i componenti coperti sono applicabili al messaggio di destinazione. Se non lo sono, il processo fallisce e restituisce un errore.
2.4. Elaborare i parametri richiesti, come l'algoritmo di firma e il materiale di chiave. Se qualche parametro richiesto non può essere soddisfatto o se i parametri richiesti sono in conflitto con quelli ritenuti appropriati al messaggio di destinazione, il processo fallisce e restituisce un errore.
2.5. Selezionare e generare eventuali parametri aggiuntivi necessari per completare la firma.
2.6. Creare la firma del messaggio HTTP sul messaggio di destinazione.
2.7. Creare i valori dei campi Signature-Input e Signature e associarli all'etichetta.
-
Facoltativamente creare eventuali valori aggiuntivi dei campi Signature-Input e Signature, con etichette univoche non presenti nel campo Accept-Signature.
-
Combinare tutti i valori etichettati dei campi Signature-Input e Signature e allegare entrambi i campi al messaggio di destinazione.
Con questo processo, una firma applicata a un messaggio di destinazione DEVE avere la stessa etichetta, DEVE includere lo stesso insieme di componenti coperti, DEVE elaborare tutti i parametri richiesti e PUÒ avere parametri aggiuntivi.
Il ricevente di un campo Accept-Signature PUÒ ignorare qualsiasi richiesta di firma che non si adatti ai parametri dell'applicazione.
Il messaggio di destinazione PUÒ includere firme aggiuntive non specificate dal campo Accept-Signature. Ad esempio, per coprire componenti del messaggio aggiuntivi, il firmatario può creare una seconda firma che include i componenti aggiuntivi nonché l'output della firma richiesta.