Error en mi validador
Publicado: Lun May 12, 2014 1:59 pm
Hola
Estoy tratando de entender como es que se valida un CFDI para poder programarlo en nuestro sistema
Nosotros al recibir los xmls, los subimos a nuestro sistema, sin embargo queremos cerciorarnos que los XML son validos y no han sido alterados, por ejemplo que el total lo cambien por uno mayor.
lo que entiendo de todo el proceso de CFDI es que al facturar se genera una cadena original de los datos que se ingresan, esa cadena la recupero con el XSLT emitido por el SAT
después recupero el certificado de emisor, como ustedes nos enseñan en el foro lo pongo en un archivo de texto lo formateo a 64 caracteres, le pongo el encabezado BEGIN y END CERTIFICATE y lo guardo como PEM
también tomo el sello que genero el emisor y ejecuto un bat con los siguientes comandos:
openssl x509 -in "cert.pem" -pubkey -noout >pubkey.txt
openssl enc -base64 -d -in "sello.txt" >sellobin.txt
openssl dgst -sha1 -verify "pubkey.txt" -signature "sellobin.txt" "cadenaOriginal.txt" >resultado.txt
y el resultado siempre me da VERIFICATION FAILURE
no pude adjuntar los archivos cert.PEM, cadenaOriginal.txt, sello.txt
puedo usar openSSL o chilkat
lo que si puedo hacer y me sale como resultado OK es los mismos pasos pero con la cadena original del complemento, el certificado del PAC, y el sello del complemento
otra cosa que si pude hacer es hacer este mismo proceso con sus archivos ejemplos aunque son de una versión anterior
Ojala me puedan ayudar ya que debe de haber un detalle que no estoy sabiendo detectar para poder hacer esto
Saludos y muchas gracias por su valiosa información
Estoy tratando de entender como es que se valida un CFDI para poder programarlo en nuestro sistema
Nosotros al recibir los xmls, los subimos a nuestro sistema, sin embargo queremos cerciorarnos que los XML son validos y no han sido alterados, por ejemplo que el total lo cambien por uno mayor.
lo que entiendo de todo el proceso de CFDI es que al facturar se genera una cadena original de los datos que se ingresan, esa cadena la recupero con el XSLT emitido por el SAT
después recupero el certificado de emisor, como ustedes nos enseñan en el foro lo pongo en un archivo de texto lo formateo a 64 caracteres, le pongo el encabezado BEGIN y END CERTIFICATE y lo guardo como PEM
también tomo el sello que genero el emisor y ejecuto un bat con los siguientes comandos:
openssl x509 -in "cert.pem" -pubkey -noout >pubkey.txt
openssl enc -base64 -d -in "sello.txt" >sellobin.txt
openssl dgst -sha1 -verify "pubkey.txt" -signature "sellobin.txt" "cadenaOriginal.txt" >resultado.txt
y el resultado siempre me da VERIFICATION FAILURE
no pude adjuntar los archivos cert.PEM, cadenaOriginal.txt, sello.txt
puedo usar openSSL o chilkat
lo que si puedo hacer y me sale como resultado OK es los mismos pasos pero con la cadena original del complemento, el certificado del PAC, y el sello del complemento
otra cosa que si pude hacer es hacer este mismo proceso con sus archivos ejemplos aunque son de una versión anterior
Ojala me puedan ayudar ya que debe de haber un detalle que no estoy sabiendo detectar para poder hacer esto
Saludos y muchas gracias por su valiosa información