Cita:
Iniciado por thebman Pues bien en el post anterior generamos nuestra digestion MD5 en un archivo md5.txt es imoprtante editar el archivo y borrar la parte de MD5(C:\cadena.txt)=
Para que nuestro archivo solo quede con la pura digestion la cual es:
8aa2b617944427353697e694a2e35a07
Bueno ahora tenemos que generar el sello digital apartir de la digestion pero antes de esto tenemos que convertir nuestros archivos .key y .cer a .pem para su correcto procesamiento.
Para hacer esto nos vamos a la aplicacion Openssl y dentro de los certificados que descargamos usaremos solo un archivo .key y la clave privada.
Archivo:
aaa010101aaa_CSD_01.key
Instruccion para generar nuestro archivo .pem:
openssl.exe pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem
Una ves ejecutada esta instruccion tendremos nuestro nuevo archivo:
aaa010101aaa_CSD_01.key.pem
El cual usaremos para generar nuestro sello tambien dentro del Openssl
openssl dgst -sign aaa010101aaa_CSD_01.key.pem md5.txt | openssl enc -base64 -A > sello.txt
Y obtendremos el siguiente sello en su respectivo archivo sello.txt:
iIMz487EGyt6zCFjvcFNvHeOKgKMMc5y1py+QJrIvCmWbbxV43 k2xi6Q23p/Wee31vqUzYH0fbO0yBOvkDtiMejjdCOHPzmLvMkzfAzr919j6t bJOiODlgb7bisEdUkrjRrw+FfwQsPldsfHW6gq3K/fFGT6tTB7gqHP6a44ix0=
bman que tal,
me gustaria saber si me pudieras ayudar, tengo problemas con el MD5 no me cuadra =/
al validar me sale
El sello del comprobante presenta problemas:
Comprobante \\Nas200\public disk 2\TEMP1\prueba.xml leido exitosamente
Validando encodingComprobante expresado en UTF-8
Realizando validación del sello con un certificado interno
Certificado usado : 30001000000100000800
El comprobante incluye un certificado codificado
Cadena original:
||2.0|A|62|2010-11-13T16:29:33|00001|2001|ingreso|PAGO EN UNA SOLA EXHIBICION|CONTADO|5000.00|0.00|5000.00|COT531028U 19|Industrias del Sur Poniente, S.A. de C.V.|Parque Nacional|32|32|Herradura|Mexico|Huixquilucan|Estad o de Mexico|Mexico|53780|COBJ830628U11|Jorge Luis Cordero|Parque de Madrid|32|32|Parques de la herradura 3a. Sec.|Mexico|Huixquilucan|Estado de Mexico|Mexico|52786|10.00|PZA|PRODUCTO AA01|100.00|1000.00|20.00|LTS|PRODUCTO AA02|200.00|4000.00|IVA|16.00|800.00||
Digestión MD5 de cadena como HEX:
3377c08a698b10a0fe944fec320ef2cb
El sello del comprobante no es válido
nooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooo =(
cuando la digestión MD5 debería ser esta
DigestionMD5 de cadena como HEX:
91630a088f882976b88373c813e9d686
lo estoy haciendo de la siguente manera.
openssl.exe dgst -md5 -sign DATA.PEM -out MD5F.TXT UTF8.TXT
openssl.exe enc -base64 -in MD5F.TXT -out SELD.TXT
DONDE:
- MD5F.TXT SE GENERA CON DATA.PEM
- UTF8.TXT ES LA CADENA ORIGINAL
- SELD.TXT ES EL SELLO DIGITAL, CUANDO ENVIO EL XML AL VALIDADOR DEL SAT ME REGRESA UNA DIGESTION DEL MD5 DIFERENTE, A LA COMPROBACION LOCAL CON EL COMANDO:
Openssl dgst –md5 utf8.txt que es mi cadena original
Alguna sugerencia? si me pudieras ayudar hermano te lo agradeceria mucho
Saludos.