Hola, yo también estoy intentando firmar las facturas para tickeBAI en C# y no consigo que me acepten la factura como válida.
Código:
<?xml version="1.0" encoding="utf-8"?>
<ResultadosValidacion>
<Codigo>008</Codigo>
<Descripcion>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="#Signature509508-SignedProperties932727" failed to verify. Reference URI="" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Descripcion>
Alguien ha encontrado algún ejemplo en c# para firmar para TicketBAI? No encuentro nada por internet en c#
Coincido con Noe277 en que la documentación no es suficientemente detallada para firmar los xml.
Cualquier ayuda se agradece!
Muchas gracias!
Cita:
Empezado por Noe277
Estoy teniendo muchos problemas a la hora de firmar las facturas, ¿Alguien lo ha conseguido en C#?
Empecé adaptando la aplicación que ofrecen en PAe y he logrado firmar XMLs con una estructura muy similar a la que muestran en el ejemplo oficial, no obstante algunas etiquetas como "<DataObjectFormat>" parecen tener algunos campos distintos, (Podría ser un problema) pero en general creo que podría dar el pego.
El caso es que siempre recibo el siguiente error:
"org.apache.axis.types.URI$MalformedURIException: No scheme found in URI"
Lo que no es de extrañar ya que el campo donde se encuentra la URI <xades:Identifier> y los tres de la política de firma no hay donde entenderlos, en cada documento dicen unos valores distintos...
Actualmente la política la genero así:
Código:
<xades:SignaturePolicyIdentifier>
<xades:SignaturePolicyId>
<xades:SigPolicyId>
<xades:Identifier>Politica de firma TicketBAI 1.0</xades:Identifier>
<xades:Description/>
</xades:SigPolicyId>
<xades:SigPolicyHash>
<ds:DigestMethod Algorithm="nopuedoponerenlaces"/>
<ds:DigestValue>6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=</ds:DigestValue>
</xades:SigPolicyHash>
<xades:SigPolicyQualifiers>
<xades:SigPolicyQualifier>
<xades:SPURI>nopuedoponerenlaces</xades:SPURI>
</xades:SigPolicyQualifier>
</xades:SigPolicyQualifiers>
</xades:SignaturePolicyId>
</xades:SignaturePolicyIdentifier>
Algunas preguntas
¿Qué datos insertasteis?, ¿Usasteis algún algoritmo concreto?, ¿Dónde hay documentación medio clara sobre el tema?
En fin, cualquier ayuda es bien recibida, gracias de antemano.
|