Como validar "a mano" un sello digital

La libreria OpenSSL es la mas usada para generar el sello digital, independientemente del lenguaje aqui encontraras informacion de como usar la libreria
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Avatar de Usuario
ramonzea
Mensajes: 167
Registrado: Mié Sep 15, 2010 1:23 am

Re: Como validar "a mano" un sello digital

Mensajepor ramonzea » Mar Sep 21, 2010 12:36 pm

para que puedas extraer la cadena original del XML solo tienes que anexar la segunda linea en en este:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="cadenaoriginal_2_0-1.xslt"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2"

luego lo visualizas en IE y te aparece la cadena original.
El archivo cadenaoriginal_2_0-1.xsl lo puedes bajar de la pagina del SAT.

Lo que no he podido hacer es cachar esa cadena en un archivo para usarla para determinado proceso.

Saludos.

lordcold
Mensajes: 4
Registrado: Lun Sep 20, 2010 6:07 pm

Re: Como validar "a mano" un sello digital

Mensajepor lordcold » Mar Sep 21, 2010 3:37 pm

Saludos.

Gracias por tu respuesta, ya logré el "Verification Ok".

Mi problema estaba en mi archivo con la cadena original, no lo estaba generando en utf-8.

Mil gracias.

en_gamboa
Mensajes: 16
Registrado: Sab Oct 09, 2010 4:19 pm

Re: Como validar "a mano" un sello digital

Mensajepor en_gamboa » Sab Oct 09, 2010 4:27 pm

Hola a todos, estoy tratando de validar la cadena con digestion md5, tome un ejemplo que aparece arriba pero al hacer la digestion sale diferente el resultado, tome esta cadena de la pagina del sat:

||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||

utf-8
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||

digestion md5
C:\Sistema\configcfd\OpenSSL dgst -md5 utf8.txt >md5.txt =
MD5(utf8.txt)= 0bf83f8e26c6406d0ba4ead67348d5d6

cuando la digestion que deberia dar es:
03abe73de4ca428816de4af6f6f737a7

Espero que alguien tenga la respuesta, Gracias.

mauricio
Mensajes: 372
Registrado: Mié Ago 11, 2010 2:55 am
Ubicación: México, D.F.
Contactar:

Re: Como validar "a mano" un sello digital

Mensajepor mauricio » Dom Oct 10, 2010 7:11 pm

Hola...

El paso a UTF-8 no debería cambiarte los caracteres acentuados. ¿Como lo estas haciendo?...

En mi equipo, para la primer cadena original que muestras:

Código: Seleccionar todo

||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||

El MD5 que me resulta es:

Código: Seleccionar todo

1cc1daa2c8cd80c700648c4329950582

Para poder ayudarte, hay que probar con los mismos datos, publique un artículo paso a paso con datos de prueba, archivos necesarios y resultados esperados aquí: http://www.universolibre.org/node/13

Verifica si obtienes los mismos datos...

Saludos
Todo lo que no es dado es perdido

condor0086
Mensajes: 425
Registrado: Jue Ago 05, 2010 4:11 pm

Re: Como validar "a mano" un sello digital

Mensajepor condor0086 » Mar Oct 12, 2010 5:43 pm

El cambiar a UTF8 sí cambia los caracteres acentuados en una cadena. Para imprimir la cadena original en pantalla o en papel hay que convertirla a ASCII o similar, pero al almacenarla debe almacenarse como UTF8 y para obtener el digest también hay que hacerlo con la cadena en UTF8.

Saludos.

mauricio
Mensajes: 372
Registrado: Mié Ago 11, 2010 2:55 am
Ubicación: México, D.F.
Contactar:

Re: Como validar "a mano" un sello digital

Mensajepor mauricio » Mar Oct 12, 2010 7:30 pm

Hola...

Prueba en Python:

Código: Seleccionar todo

>>> cadena = 'áéíóúñÁÉÍÓÚÑ'
>>> print cadena
áéíóúñÁÉÍÓÚÑ
>>> u = unicode( cadena, "utf-8" )
>>> print u
áéíóúñÁÉÍÓÚÑ
>>>


Saludos
Todo lo que no es dado es perdido

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Como validar "a mano" un sello digital

Mensajepor Dado » Mié Oct 13, 2010 9:19 am

mauricio escribió:Hola...

Prueba en Python:

Código: Seleccionar todo

>>> cadena = 'áéíóúñÁÉÍÓÚÑ'
>>> print cadena
áéíóúñÁÉÍÓÚÑ
>>> u = unicode( cadena, "utf-8" )
>>> print u
áéíóúñÁÉÍÓÚÑ
>>>


Saludos


No conozco python pero algo esta mal en ese codigo, el UTF8 si deberia cambiar a caracteres raros las letras acentuadas.

Hay un convertidor en linea, puedes checarlo aqui y verificar que las letras y numeros no los convierte, pero las acentuadas y las eñes si.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Como validar "a mano" un sello digital

Mensajepor Dado » Mié Oct 13, 2010 9:36 am

Sabes cual es el "problema" con el UTF8 y las aplicaciones?

La cosa esta en que muchas aplicaciones y rutinas de programacion son "compatibles con UTF8" y detectan automaticamente esos caracteres y HACEN LA CONVERSION de forma transparente, aveces tan silenciosamente que ni nos damos cuenta de lo que pasa "tras bambalinas".

Mira, aqui esta un ejemplo clarisimo, genere un archivo XML con caracteres UTF8 "raros" y si lo abro en el internet explorer o en el notepad aparece muy "bonito" :

xSin título.jpg
xSin título.jpg (71.74 KiB) Visto 18077 veces


PERO CHECA cuando lo abro con un visor HEXADECIMAL, que me muestra exactamente como esta grabado en disco :

Sin título.jpg
Sin título.jpg (98.75 KiB) Visto 18077 veces


Como puedes ver, en disco esta grabado "rarisimo", es decir, en formato UTF8, si puedes notar ademas, cada letra acentuada se lleva dos bytes, por ejemplo la é se graba como #c3 #a9

Anexo el archivo para que hagas tus propias pruebas, pero recuerda, si quieres ver "las tripas" de la conversion UTF8 debes usar un editor hexadecimal o un editor de disco o cualquier cosa que NO HAGA la conversion automatica.
Adjuntos
ejemploutf8.zip
(285 Bytes) Descargado 629 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

mauricio
Mensajes: 372
Registrado: Mié Ago 11, 2010 2:55 am
Ubicación: México, D.F.
Contactar:

Re: Como validar "a mano" un sello digital

Mensajepor mauricio » Mié Oct 13, 2010 10:11 am

Hola...

Si lo se, se que UTF-8 son meros bytes, de eso no hay discusión, el problema con el compañero, es que creo que lo esta haciendo mal. Precisamente porqué se que la muchos de los sistemas que usamos en español hacen uso correcto de UTF-8, "deberíamos ver bien su cadena, pero en fin, que cada quien haga sus validaciones... y sus deducciones...

Código: Seleccionar todo

>>> u'áéíóúÁÉÍÓÚÑñ'
u'\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda\xd1\xf1'
>>> unicode('áéíóúÁÉÍÓÚÑñ','utf-8')
u'\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda\xd1\xf1'


Saludos
Todo lo que no es dado es perdido

en_gamboa
Mensajes: 16
Registrado: Sab Oct 09, 2010 4:19 pm

Re: Como validar "a mano" un sello digital

Mensajepor en_gamboa » Mié Oct 13, 2010 10:32 pm

Hola mauricio me sirvio muy bien los datos que publicaste en tu articulo

http://www.universolibre.org/node/13

incluso ya hise pruebas con mis propias facturas y tube exito con el verificador del sat, es una manera totalmente diferente a como yo lo hacia, pero mas simple y ahora si funciono sin problemas, muchas gracias.


Volver a “OpenSSL en general (cualquier lenguaje)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados