Ver Mensaje Individual
  #209 (permalink)  
Antiguo 25/09/2010, 09:21
ikari84
 
Fecha de Ingreso: septiembre-2010
Ubicación: Chetumal
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Factura electroncia sat mexico

Hola a todos!!

Hace unos dias empeze con el desarrollo de un sistema que permite la firma de comprobantes fiscales,en UNIX/PROGRESS, estuve leyendo sus comentarios, cuando estaba buscando información al respecto. Bueno sin más nada mas comentarles que el proceso que han estado siguiendo esta erroneo en un paso, que ha pasado ser despercibido, y es algo por lo que veo han batallado

Bueno explico donde fue el mal paso , es cuando hacen el primer MD5, si leyeron bien primer md5, por que? simple el openssl por default tiene el algoritmo MD5 para su utilización, por lo tanto cuando hacen:

openssl> dgst -md5 -out md5.txt cadenaoriginal.txt
openssl> dgst -sign key.pem -out sello.txt md5.txt

Lo que sucede es que hacen nuevamente un MD5 al archivo MD5.txt, por lo tanto el sello generado es invalido en el SAT. Por default el comando dgst tiene como parametro -md5 como predeterminado entonces al firmarlo, no firma el md5.txt si no al nuevo md5 generado.

Por lo tanto para solucionar este problema deben hacer lo siguiente:

openssl>dgst -md5 -sign key.pem -out firma.txt cadenaoriginal.txt
openssl>enc -base64 -A -in firma.txt -out sello.txt

Con esto obtienen el sello valido

Espero que les ayude a los que no lo han conseguido

Saludos y felices códigos

Atte:

Manuel Esquivel (pero en el bajo mundo me dicen ikari84 :-p)

PD: Todo lo programe desde UNIX SCO OpenServer Release 5/PROGRESS 8.2 A/openssl 0.9.7i