FacturaElectronicaCR icon indicating copy to clipboard operation
FacturaElectronicaCR copied to clipboard

Consulta XML - firmado

Open ndlbass opened this issue 6 years ago • 7 comments

Hola que tal? Muy buen trabajo se ve en este repositorio.

Le hago una consulta ya que estoy teniendo problemas en el firmado del xml (usando otra solucion en ruby): Hacienda me rechaza el comprobante por motivo "Firma inválida". Me han dicho que este error puede ser un poco generico y no necesariamente con la firma.

Entonces he probado su ejemplo de FE: https://github.com/royrojas/FacturaElectronicaCR/blob/master/_Ejemplos%20XML/xml_factura_electronica.xml, modificando la clave y fecha de emision, aun asi sigo recibiendo "Firma inválida".

Sabe si el formato de ese xml sigue siendo válido? De ser asi, es posible obtener un ejemplo de como queda el xml con el signature agregado?

Desde ya muchas gracias, Saludos

ndlbass avatar Sep 04 '18 14:09 ndlbass

Hola, el ejemplo que está en el Git hace la firma completa, ahi puedes ver como debe de quedar. Es probable que tengas algun error en el XML, puedes validarlo en este api http://apis.gometa.org/

royrojas avatar Sep 04 '18 14:09 royrojas

Hola @royrojas, lo voy a validar con el link y te cuento. Muchas gracias por la rápida respuesta!

ndlbass avatar Sep 04 '18 15:09 ndlbass

Hola de nuevo. Al parecer si tengo un problema con la firma. Este fue el resultado: image

Este el el xml firmado que utilice: https://gist.github.com/ndlbass/7f3bc91a9276f70fc6e1e66c6704822f

ndlbass avatar Sep 04 '18 16:09 ndlbass

Yo tengo el mismo problema con esta aplicación, me estaba funcionando y de repente me empezó a indicar firma invalida, le he dado por todos los lados que se me ocurre pero no encuentro una solución. Pero por mi parte utilizando el API de Validación del XML si me dice que el XML es valido y que la firma es valida. Así que no se, que sera. Y ya estoy en mi deathline.

DanyMora avatar Sep 04 '18 19:09 DanyMora

Un problema normal es como se manipula el XML despues de la firma, entre el firmado y pasarlo a Base64 para enviarlo a hacienda. Si la firma la estas haciendo con XadesEpes y te da error, es probable que sea eso.

royrojas avatar Sep 04 '18 19:09 royrojas

Buen dato, en el grupo de CRLibre me acaban de decir algo parecido.

Estoy asegurandome de limpiar espacios entre nodos y saltos de lineas antes del encode a base64. Tambien en mi caso, con ruby veo el base64 me estaba devolviendo un output con saltos. Estoy justamente revisando esto, les cuento como me va.

ndlbass avatar Sep 04 '18 19:09 ndlbass

Bueno, tengo un base64 limpio de espacios y saltos de línea, este el json enviado a hacienda: https://gist.github.com/ndlbass/c55f76a7dce838fc6b41574a203c69d8

Y este el resultado de tu fantastica herramienta: image

Lo que no tengo control es al momento que este signer.jar levanta el archivo xml y lo firma. No se si está rompiendo algo en ese momento.

@royrojas te consulto desde la ignorancia. El error que me está dando tu log (aunque diga que está bien), te da una idea de por donde seguir atacando el problema?

XML is Valid
Checking signature...

xmlsec:
func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=360:obj=x509-store:subj=X509_verify_cert:error=4:crypto library function failed:subj=/serialNumber=CPJ-3-101-720564/C=CR/O=PERSONA JURIDICA/OU=CPJ/CN=SELINA OPERATION SAN JOSE CITY SOCIEDAD ANONIMA;err=20;msg=unable to get local issuer certificate
func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=408:obj=x509-store:subj=unknown:error=71:certificate verification failed:err=20;msg=unable to get local issuer certificate
func=xmlSecKeysMngrGetKey:file=keys.c:line=1370:obj=unknown:subj=xmlSecKeysMngrFindKey:error=1:xmlsec library function failed: 
func=xmlSecDSigCtxProcessKeyInfoNode:file=xmldsig.c:line=871:obj=unknown:subj=unknown:error=45:key is not found: 
func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=565:obj=unknown:subj=xmlSecDSigCtxProcessKeyInfoNode:error=1:xmlsec library function failed: 
func=xmlSecDSigCtxVerify:file=xmldsig.c:line=366:obj=unknown:subj=xmlSecDSigCtxSignatureProcessNode:error=1:xmlsec library function failed: 
Error: signature failed 
ERROR
SignedInfo References (ok/all): 2/2
Manifests References (ok/all): 0/0
Error: failed to verify file "xml/181.167.137.114-6819.xml.ugly"

ndlbass avatar Sep 04 '18 20:09 ndlbass