Algoritme per defecte de les signatures
El sistema aplica un algoritme per defecte per a la generació de les signatures. Aquest aplica en peticions on no s'especifica quin algoritme volem fer servir per la signatura. Aquesta situació és típica quan enviem per exemple un fitxer PDF.
La configuració del sistema en aquest aspecte es la següent:
- Actualment -> Algoritme SHA1
- A partir de 26/04/2023 -> SHA256
Com demanar un algoritme específic a la petició de signatura
Cal afegir en la request que arriba a TX el camp <SignatureDigestAlgorithm> en els camp <OptionalInputs>
El valor possibles son:
- md5
- sha1
- id_sha256
- id_sha384
- id_sha512
Exemple:
<OptionalInputs>
...
<SignatureDigestAlgorithm>id_sha256</SignatureDigestAlgorithm>
....
</OptionalInputs>
Peticions que enlloc d'un document aporten un HASH calculat externament.
Hi ha casos que la petició no conté el document a signar sinó un HASH calculat externament a TrustedX. En aquest cas el node <Document> conté un estructura com aquesta
<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#>ZTgwZTYyZTQ2MTJmMjQ5NGE4OTAwY2QxZTJjZTA4ZjQwNjQwMjI0NTE1MzY4ZjYwNDVjOTU4YTM3MjFlZGY3MA==</ns4:DigestValue>
</DocumentHash>
</InputDocuments>
En aquest cas el valor que cal indicar a <ds:DigestMethod> l'atribut Algorithm que s'ha utilitzat, els valors poden ser els següents:
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmldsig-more#md5
- urn:nist-gov:sha256
- urn:nist-gov:sha384
- urn:nist-gov:sha512
- http://www.w3.org/2001/04/xmlenc#sha256 (only for generating XMLDSig/XAdES signatures)
- http://www.w3.org/2001/04/xmldsig-more#sha384 (only for generating XMLDSig/XAdES signatures)
- http://www.w3.org/2001/04/xmlenc#sha512 (only for generating XMLDSig/XAdES signatures)
NOTA: En aquests cas, cal assegurar que la combinació entre SignatureDigestAlgorithm i el HASH calculat ha de ser coherent o el sistema no signarà.