Ver Mensaje Individual
  #273 (permalink)  
Antiguo 19/11/2010, 01:54
killer_beaner
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Sello Digital

Cita:
Iniciado por thebman Ver Mensaje
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.