
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
SHA1 con OpenSSL (SOLUCIONADO)
-
- Mensajes: 17
- Registrado: Jue Oct 21, 2010 12:23 pm
SHA1 con OpenSSL (SOLUCIONADO)
Hola a TODOS.
Hoy amanecí recibiendo llamadas de mis clientes con la noticia de que el validador del SAT ahora responde con El sello del comprobante es Inválido, el sello debe estar en SHA1 para los CFDs emitidos en el 2011.
Yo genero el sello con OpenSSL con al instrucción:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Les agradecría muchísimo si me pudieran ilustrar por favor cómo se genera el sello con SHA1 en OpenSSL para, como nos dice Dado en otro post, comenzar el resellado de todos estos CFDs y re-enviarlos a los clientes.
Agradeciendo de antemano sus atenciones y respuetas reciban un cordial saludo.
Hoy amanecí recibiendo llamadas de mis clientes con la noticia de que el validador del SAT ahora responde con El sello del comprobante es Inválido, el sello debe estar en SHA1 para los CFDs emitidos en el 2011.
Yo genero el sello con OpenSSL con al instrucción:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Les agradecría muchísimo si me pudieran ilustrar por favor cómo se genera el sello con SHA1 en OpenSSL para, como nos dice Dado en otro post, comenzar el resellado de todos estos CFDs y re-enviarlos a los clientes.
Agradeciendo de antemano sus atenciones y respuetas reciban un cordial saludo.
Última edición por Humberto el Mié Ene 26, 2011 4:20 pm, editado 1 vez en total.
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL
Es un poco "mas atras" en tu codigo, ahi ya solo aplicas el sello, busca en todo tu codigo un -md5 y cambialo a -sha1Humberto escribió:Hola a TODOS.
Hoy amanecí recibiendo llamadas de mis clientes con la noticia de que el validador del SAT ahora responde con El sello del comprobante es Inválido, el sello debe estar en SHA1 para los CFDs emitidos en el 2011.
Yo genero el sello con OpenSSL con al instrucción:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Les agradecría muchísimo si me pudieran ilustrar por favor cómo se genera el sello con SHA1 en OpenSSL para, como nos dice Dado en otro post, comenzar el resellado de todos estos CFDs y re-enviarlos a los clientes.
Agradeciendo de antemano sus atenciones y respuetas reciban un cordial saludo.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 17
- Registrado: Jue Oct 21, 2010 12:23 pm
Re: SHA1 con OpenSSL
Dado,
En ningún lado hay un -md5. En ralidad yo sólo uso tres instrucciones con OpenSSL y me funcionaba muy bien. Todos los CFDs se validaban correctamente tanto en el validador del SAT como en el que tú amablemente nos has proporcionado.
Las instrucciones son las siguientes:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
openssl enc -in sign.bin -a -A -out signB64.txt
Así que en nigúna parte hay el -md5. ¿Alguna sugerencia?
Gracias y saludos.
En ningún lado hay un -md5. En ralidad yo sólo uso tres instrucciones con OpenSSL y me funcionaba muy bien. Todos los CFDs se validaban correctamente tanto en el validador del SAT como en el que tú amablemente nos has proporcionado.
Las instrucciones son las siguientes:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
openssl enc -in sign.bin -a -A -out signB64.txt
Así que en nigúna parte hay el -md5. ¿Alguna sugerencia?
Gracias y saludos.
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL
Hay "cien" formas de calcular el hash, es posible que estes usando otra libreria o alguna rutina, aver "platicame" como generas CadOri.txtHumberto escribió:Dado,
En ningún lado hay un -md5. En ralidad yo sólo uso tres instrucciones con OpenSSL y me funcionaba muy bien. Todos los CFDs se validaban correctamente tanto en el validador del SAT como en el que tú amablemente nos has proporcionado.
Las instrucciones son las siguientes:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
openssl enc -in sign.bin -a -A -out signB64.txt
Así que en nigúna parte hay el -md5. ¿Alguna sugerencia?
Gracias y saludos.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 17
- Registrado: Jue Oct 21, 2010 12:23 pm
Re: SHA1 con OpenSSL
El CadOri.txt es la cadena original tal cual se presenta en el CFD con sus pipes y todo:
||2.0|NC|2|2011-01-26T11:55:15|78136|2011|egreso|PAGO EN UNA SOLA EXHIBICION|20.00|0.00|20.00|XXX890201E20|PUBLICIDAD, S.A. DE C.V.|Paseo de la Reforma|XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|Paseo de la Reforma NO.XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|CTE010203ABC|AAACLIENTE PRUEBA|Calle de Prueba No. 1|S/N|Colonia de Prueba|*|*|*|México|12345|1|---|NCR|PRUEBA CFD 02|20.00|20.00|IVA|16.00|0.00|0.00||
esta se graba en el CadOri.txt y luego desencripta el .key con:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
Crea el sello digital en binario con:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Convierte el sello digital de binaro a B64
openssl enc -in sign.bin -a -A -out signB64.txt
Saludos.
||2.0|NC|2|2011-01-26T11:55:15|78136|2011|egreso|PAGO EN UNA SOLA EXHIBICION|20.00|0.00|20.00|XXX890201E20|PUBLICIDAD, S.A. DE C.V.|Paseo de la Reforma|XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|Paseo de la Reforma NO.XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|CTE010203ABC|AAACLIENTE PRUEBA|Calle de Prueba No. 1|S/N|Colonia de Prueba|*|*|*|México|12345|1|---|NCR|PRUEBA CFD 02|20.00|20.00|IVA|16.00|0.00|0.00||
esta se graba en el CadOri.txt y luego desencripta el .key con:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
Crea el sello digital en binario con:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Convierte el sello digital de binaro a B64
openssl enc -in sign.bin -a -A -out signB64.txt
Saludos.
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL
Y estas seguro que si validan tus sellos?Humberto escribió:El CadOri.txt es la cadena original tal cual se presenta en el CFD con sus pipes y todo:
||2.0|NC|2|2011-01-26T11:55:15|78136|2011|egreso|PAGO EN UNA SOLA EXHIBICION|20.00|0.00|20.00|XXX890201E20|PUBLICIDAD, S.A. DE C.V.|Paseo de la Reforma|XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|Paseo de la Reforma NO.XXX|Col. Lomas de Chapultepec|Miguel Hidalgo|Miguel Hidalgo|D.F.|México|01780|CTE010203ABC|AAACLIENTE PRUEBA|Calle de Prueba No. 1|S/N|Colonia de Prueba|*|*|*|México|12345|1|---|NCR|PRUEBA CFD 02|20.00|20.00|IVA|16.00|0.00|0.00||
esta se graba en el CadOri.txt y luego desencripta el .key con:
openssl pkcs8 -inform DER -in archivo.key -passin pass:XXXXXXXX -out KEY.PEM
Crea el sello digital en binario con:
openssl dgst -out sign.bin -sign KEY.PEM CadOri.txt
Convierte el sello digital de binaro a B64
openssl enc -in sign.bin -a -A -out signB64.txt
Saludos.
Normalmente el hash MD5 se hace junto con el sellado, con la instruccion asi :
openssl dgst -md5 -out sign.bin -sign KEY.PEM CadOri.txt
Pero claro que no es obligatorio si CadOri ya esta "digerida" antes.
Hay dos caminos para hacer el sello :
1. Formas la cadena, la conviertes a UFT8
................AAAAAHHHH YA ME ACORDE !!!!!
Va de nuevo.........
Si, para FIRMAR una cadena DEBES USAR :
openssl dgst -md5 -out sign.bin -sign KEY.PEM CadOri.txt
PERO SI NO ESPECIFICAS EL -MD5 ESTE SE SELECCIONA POR DEFAULT y por eso "ni en cuenta" porque por default usa -MD5
bueno, ahora tienes que usar :
openssl dgst -sha1 -out sign.bin -sign KEY.PEM CadOri.txt
Y eso es todo, CHECALO!!
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 17
- Registrado: Jue Oct 21, 2010 12:23 pm
Re: SHA1 con OpenSSL
SOLUCIONADO.
Como simpre, Dado, tienes toda la razón. Ya hice unas pruebas y funcionó perfectamente.
El opensssl dgst, si no se especificas nada por default lo hace con MD5. Agregando -SHA1 todo resulta perfectamente bien.
MUCHAS GRACIAS nuevamente por tu apoyo y por tus prontas y acertadas respuestas.
Ahora a programar un poco para corregir los CFDs que se emitieron desde el 01/ENE/2011.
Saludos.
Como simpre, Dado, tienes toda la razón. Ya hice unas pruebas y funcionó perfectamente.
El opensssl dgst, si no se especificas nada por default lo hace con MD5. Agregando -SHA1 todo resulta perfectamente bien.
MUCHAS GRACIAS nuevamente por tu apoyo y por tus prontas y acertadas respuestas.
Ahora a programar un poco para corregir los CFDs que se emitieron desde el 01/ENE/2011.
Saludos.
-
- Mensajes: 16
- Registrado: Lun Ene 31, 2011 8:25 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
Tengo una duda sobre todo este proceso, en que parte interviene el HSM que requiere Hacienda? todos estos puntos los puedes hacer dependiente a esto?
saludos
pziniga
saludos
pziniga
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: SHA1 con OpenSSL (SOLUCIONADO)
paccozuniga escribió:Tengo una duda sobre todo este proceso, en que parte interviene el HSM que requiere Hacienda? todos estos puntos los puedes hacer dependiente a esto?
saludos
pziniga
No he leido sobre el HSM.....que es?
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 16
- Registrado: Lun Ene 31, 2011 8:25 am
Re: SHA1 con OpenSSL (SOLUCIONADO)
En la matriz de controles el punto 24.8 ( El dispositivo que almacena la llave privada del SAT debe contar con recubrimiento especial, sensible, que prevenga que el dispositivo sea abierto, o que al ser abierto, impida el acceso a la información ), para los que estamos desarrollando para ser PAC, mi duda, todo este proceso de usar openSSL puede ser independiente al hsm o es necesario comenzar con este, o hasta que punto podemos avanzar sin tener todavia el hsm