Algoritmo por defecto de las firmas
Cuando una aplicación hace una petición al Signador Centralizado y no indica qué algoritmo de firma desea utilizar, el sistema aplica un algoritmo por defecto.
📌 Desde el 26 de abril de 2023 este algoritmo por defecto es SHA256.
Esta situación es habitual, por ejemplo, cuando se envía un archivo PDF ay no se especifica ningún algoritmo concreto.
Cómo indicar un algoritmo específico en la petición de firma
Si quieres que el Signador Centralizado utilice un algoritmo concreto para generar la firma, debes añadir el campo <SignatureDigestAlgorithm> dentro de <OptionalInputs> en la request que llega a TX.
📋 Los valores posibles son:
md5
sha1
id_sha256
id_sha384
id_sha512
Ejemplo:
<OptionalInputs>
...
<SignatureDigestAlgorithm>id_sha256</SignatureDigestAlgorithm>
....
</OptionalInputs>
Peticiones que en lugar de un documento aportan un HASH calculado externamente.
Hay casos en que la petición no contiene el documento a firmar sino un HASH calculado externamente en TrustedX. En este caso el nodo <Document> contiene una estructura como ésta:
<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 este caso el valor que debe indicarse en <ds:DigestMethod> el atributo Algorithm utilizado, los valores pueden ser los siguientes:
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 firmas)
http://www.w3.org/2001/04/xmldsig-more#sha384 (only for generating XMLDSig/XAdES firmas)
http://www.w3.org/2001/04/xmlenc#sha512 (only for generating XMLDSig/XAdES firmas)
NOTA : En este caso, es necesario asegurar que la combinación entre SignatureDigestAlgorithm y el HASH calculado debe ser coherente o el sistema no firmará.
Te podría interesar
El Signador Centralizado mejora su seguridad (Post Blog AOC informativo del cambio en la configuración)

Copiar enlace