Cita:
Empezado por razorxxx
Hola. Usando tu código sugerido, y comparando la salida con el archivo firmado de ejemplo proporcionado por la AEAT, veo que se añade un nodo extra dentro de <xades:SignedProperties> llamado <xades:SignedDataObjectProperties> con el siguiente contenido:
Código:
<xades:SignedDataObjectProperties>
<xades:DataObjectFormat ObjectReference="#Reference-f90e12c9-a8c8-4705-ac51-4ada280e7e32">
<xades:Description/>
<xades:ObjectIdentifier>
<xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier>
<xades:Description/>
</xades:ObjectIdentifier>
<xades:MimeType>text/xml</xades:MimeType>
<xades:Encoding/>
</xades:DataObjectFormat>
</xades:SignedDataObjectProperties>
Además, donde dice:
Código:
<xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/>
debería poner
Código:
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
.
También dentro del nodo <ds:SignedInfo> debería hacer mención a sha256, pero está poniendo sha512 en todas.
Dentro de <ds:Reference><ds:Transforms> se añade:
Código:
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<ds:XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">not(ancestor-or-self::ds:Signature)</ds:XPath>
</ds:Transform>
Uso AutoFirma 1.8.3 para Windows. Todavía no he llegado a la parte de enviar. ¿Alguien puede corroborar si este fichero resultante sería igualmente válido y el WebService se lo traga?
|
Si valido el fichero firmado en la web valide.redsara.es el achivo XML, me da el siguiente error: El hash de la política incluido en la firma no coincide con el hash real de la política de firma.
¿Alguien sabe de dónde se saca el parámetro de configuración policyIdentifierHash?