Passa al contenuto principale

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:

  1. Analizzare il valore del campo come Dictionary.

  2. 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.

  3. Facoltativamente creare eventuali valori aggiuntivi dei campi Signature-Input e Signature, con etichette univoche non presenti nel campo Accept-Signature.

  4. 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.