Algoritmo di firma predefinito
Il sistema applica un algoritmo predefinito per la generazione delle firme. Questo vale nelle richieste in cui non è specificato quale algoritmo vogliamo utilizzare per la firma. Questa situazione è tipica quando inviamo, ad esempio, un file PDF.
La configurazione del sistema sotto questo aspetto è la seguente:
- Attualmente -> Algoritmo SHA1
- Dal 26/04/2023 -> SHA256
Come richiedere un algoritmo specifico nella richiesta di firma
Il campo <SignatureDigestAlgorithm> deve essere aggiunto al campo <OptionalInputs> nella richiesta che arriva a TX
I valori possibili sono:
- md5
- sha1
- id_sha256
- id_sha384
- id_sha512
Esempio:
<Ingressi facoltativi>
...
<SignatureDigestAlgorithm>id_sha256</SignatureDigestAlgorithm>
....
</Ingressi opzionali>
Richiede che al posto di un documento venga fornito un HASH calcolato esternamente.
Ci sono casi in cui la richiesta non contiene il documento da firmare ma un HASH calcolato esternamente a TrustedX. In questo caso il nodo <Documento> contiene una struttura come questa
<InputDocuments><DocumentHash>
<ns3:DigestMethod Algorithm=" urn:nist-gov:sha256 " xsi:type="ns3:DigestMethodType" xmlns:ns3=http://www.w3.org/2000/09/xmldsig#/>
<ns4:DigestValue xsi:type="ns4:DigestValueType" xmlns:ns4=http://www.w3.org/2000/09/xmldsig#>ZTgwZTYyZTQ2MTJmMjQ5NGE4OTAwY2QxZTJjZTA4ZjQwNjQwMjI0NTE1MzY4ZjYwNDVjOTU4YTM3MjF lZGY3MA==</ns4:DigestValue valoregesto>
</DocumentHash>
</InputDocuments>
In questo caso il valore da indicare in <ds:DigestMethod> l'attributo Algoritmo che è stato utilizzato, i valori possono essere i seguenti:
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmldsig-more#md5
- urna:nist-gov:sha256
- urna:nist-gov:sha384
- urna:nist-gov:sha512
- http://www.w3.org/2001/04/xmlenc#sha256 (solo per generare firme XMLDSig/XAdES)
- http://www.w3.org/2001/04/xmldsig-more#sha384 (solo per generare firme XMLDSig/XAdES)
- http://www.w3.org/2001/04/xmlenc#sha512 (solo per generare firme XMLDSig/XAdES)
NOTA : In questi casi è necessario assicurarsi che la combinazione tra SignatureDigestAlgorithm e l'HASH calcolato sia coerente oppure il sistema non firmerà.