![]() |
Respuesta: Facturacion electronica en México veo que aun hay dudas.... saben por que?, por que nadie es tan amable de decir mira asi lo hice y funciona.... asi que dejemonos de posteadores que dicen que el SAT, que esto que el otro. si no van a poner algun HECHO que ayude mejor no pongan. hay va mi respuesta a Destruktor... saludos... ayudanos a avanzar.... esto lo meti en un archito bat, para ejecutarlo junto. @echo off color 30 C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.key -passin pass:xxxxxxxxxxx -out C:\WEB_SAT\EPISA\aaa010101aaa.key.pem echo la llave privada ha sido creada..... C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.cer -pubkey -out C:\WEB_SAT\EPISA\aaa010101aaa.cer.pem echo la llave publica ha sido creada..... cls exit. y para probar uno por uno... $ openssl x509 -in AAA010101AAA.cer.pem -issuer -noout $ openssl x509 -in AAA010101AAA.cer.pem -startdate -enddate -noout $ openssl x509 -in AAA010101AAA.cer.pem -subject -noout $ openssl x509 -in AAA010101AAA.cer.pem -serial -noout EL HECHO, a mi si me funcionan...solo les agregue la ruta. |
Respuesta: Facturacion electronica en México Antes que nada agradecerle a todos los que han aportado sus conocimientos en este foro, y solicitar ayuda debido a que Ya tengo la llave privada y llave publica con forme explico Nanox con un archivo bat @echo off color 30 C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.key -passin pass:xxxxxxxxxxx -out C:\WEB_SAT\EPISA\aaa010101aaa.key.pem C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM –in C:\WEB_SAT\EPISA\aaa010101aaa_CSD_01.cer -pubkey -out C:\WEB_SAT\EPISA\aaa010101aaa.cer.pem echo la llave publica ha sido creada..... Pero no se como obtener el certificado es decir en el archivo xml con versión 2.0 existe un registro llamado certificado Ejemplo: version="2.0" serie="BA" folio="170" fecha="2009-09-01T03:36:59" sello="G6KKmnhBQh06I5h0JQSD9ItM7H4msd4D45Yg4ti81XA SvM9+Zf38g/Q9ANMl6FJaPpqMHnyj4UZWsQgKz7Z+qfMM/gTYqlTQIcily0VT0BCazEnpmn1xGPR6So6ffhnJbYLTfTjqEbS 5Td3t/pvdGsg7CCr/bG+N01WM9py1uc0=" noCertificado="10001200000000022517" certificado="MIIDhDCCAmygAwIBAgIUMTAwMDEyMDAwMDAwM DAwMjI1MTcwDQYJKoZIhvcNAQEFBQAwgcMxGTAXBgNVBAcTEEN pdWRhZCBkZSBNZXhpY28xFTATBgNVBAgTDE1leGljbywgRC5GL jELMAkGA1UEBhMCTVgxGjAYBgNVBAMTEUFDIGRlIFBydWViYXM gU0FUMTYwNAYDVQQLFC1BZG1pbmlzdHJhY2nzbiBkZSBTZWd1c mlkYWQgZGUgbGEgSW5mb3JtYWNp824xLjAsBgNVBAoUJVNlcnZ pY2lvIGRlIEFkbWluaXN0cmFjafNuIFRyaWJ1dGFyaWEwHhcNM DgwODIxMTUyMjA4WhcNMTAwODIxMTUyMjA4WjCBmDElMCMGA1U ELRMcQUFBMDEwMTAxQUFBIC8gQUFBQTAxMDEwMUFBQTEeMBwGA 1UEBRMVIC8gQUFBQTAxMDEwMUhERlJYWDAxMRIwEAYDVQQKEwl NYXRyaXogU0ExEzARBgNVBAsTClVuaWRhZCAxMCAxEjAQBgNVB AMTCU1hdHJpeiBTQTESMBAGA1UEKRMJTWF0cml6IFNBMIGfMA0 GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDpmiW1q9gyzCFtMcbaF DJexk2IpLoTdNXg4ToGRZ/f+hIjmj3N6ODWX1ARNFGYocEHf113GpW5Oe/mj6UqhBpiH4JRTNR4Udb8myJTArIlODynVHuIUuyhKo7gbMbDd XjilTAYY2XWQuQ7aDtWwntUmNg4vAC/F3OtRz3+y9wM5QIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1 UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAafyD4gMsOvq7 E3raPntmQlJTxpWwNySqskE7fe23HVL9UKFCUlWWx/W8gluxIX9S19y17iWnGbtmbNddHxG5PznPsy/a8PlwNHjDW0FOpia2LsvDrNcdPiJhzL/1OVagkenffFf8bLEetF3ktxZ7ifcH1yxVxpZ7PS/pe8YIOpWRuMmTV4ypGdsw9TW3HVP5IJ/canuQGPTb3LQ8ojihW2dHnC6ojaWW4GHFSZAPhQJ/DaH/UgFjaQke/RBtoAketfROdG+1qYeA1q/is04O4AXNmMByGp7ZnvGNrO9LDBvs3eKN4ZYcQyjxFEbr1X/xUqHCRF1VEkkC5jJQ1ktC4g==" desde php estoy mandando esta instrucción <? Exec("C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem"); Exec("C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in aaa010101aaa_CSD_01.cer -pubkey -out aaa010101aaa_CSD_01.cer.pem"); $cadenaoriginal="||2.0|A|5|2009-09-03T23:02:15|12345678|2009|ingreso|Pago en una sola exhibicion|Efectivo|20000.00|23000.00|HEOE510629UB 2|MARIA ESTHER HERMOSO ORTUNO|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|RINCON DE ZAGAROLO|108|RINCONADA DE LOS ANDES|SAN LUIS POTOSI|SAN LUIS POTOSI|SAN LUIS POTOSI|MEXICO|78216|MOR657810UB3|MORAN Y CIS, A.C.|HIMALAYA|580|LOMAS TERCERA SECCION|AGUASCALIENTES|AGUASCALIENTES|AGUASCALIENT ES|MEXICO|78000|1|PZA|ADMIN|SRNADMIN|10000.00|1000 0.00|1|PZA|ADMIN|SRNADMIN|10000.00|10000.00|IVA|15 .00|1500.00|IVA|15.00|1500.00|3000.00||" ; $cadena = utf8_encode($cadenaoriginal) ; $cadena=md5($cadena); $fp = fopen ("md5.txt", "w+"); fwrite($fp, $cadena); fclose($fp); exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.key.pem md5.txt | openssl enc -base64 -A > sello.txt"); exec("C:\OpenSSL\bin\openssl.exe dgst -sign aaa010101aaa_CSD_01.cer.pem md5.txt | openssl enc -base64 -A > certificado.txt"); $file = readfile("sello.txt"); ?> y en efecto me crea los siguientes archivos cmd5.txt Cadena en MD5 sello.txt Sello generado certificado.txt pero el archivo certificado.txt esta vacio es decir yo estoy realizando esto para obtener el famoso registro certificado que va en el xml, pero no se si estoy realizando la instrucción correcta ó porque ell archivo certificado.txt no me muestra nada. |
Respuesta: Facturacion electronica en México Amigo... como ves el foro esta conjelado, a sido mejor como contacto particular. tu problema lo has solucionado... y me da gusto. aqui una luz mas para quienes de verdad quieren compartir sus codigos y sus experiencias, ya somos dos, que asi como muchos han preguntado como se hace... aqui a los que han ayudado... saludoss... |
Respuesta: Facturacion electronica en México Saludos a todos. Tengo el mismo problema que softrednet, no me genera mi archivo certificado.txt, alguién sabe como le tengo que hacer?? Muchas gracias. |
Respuesta: Facturacion electronica en México Hola a todos, saben si exite algun open source para usar como base para nosotros mexicanos? Yo encontré uno de Chile les dejo el link por si lo quieren ver dobeu dobleu dobleu . open-track.cl/index.php/productos/openfacture.html |
Respuesta: Facturacion electronica en México soy nuevo en el foro, y apenas empiezo a navegar por las aguas turbulentas de la factura digital. tengos varias dudas, me gustaria me ayudaran . 1ro. donde consigo informacion de openssl, para poder enteder lo que estoy haciendo. 2da. que se necesita para poder crear una factura digital, no me queda claro lo que pide hacienda.. por sus atenciones mil gracias pd. tengan por seguro que todo lo que logre lo compartire con uds....si alguien alguna vez necesito imprimir en una impresora termica desde DOS,,yo tengo la solucion ..... |
Respuesta: Facturacion electronica en México Hola kolegas aki respondiendo algo de las facturas electronicas yo estube metido un mes en esto de las facturas electronicas, solo k lo hice en c#, si les sirve les paso la referencias para generar el sello. Usando bouncy castle saludos |
Respuesta: Facturacion electronica en México OK, colega Tienes que descargar uan dll que esta en la pagina de bouncycastle.org usando estas referencias. Leer la clave privada y el certificado en formato PEM PemReader rd = new PemReader(tr); Y con esta otra encryptas ISigner sig = SignerUtilities.GetSigner("MD5WithRSAEncryption"); Esas son las dos referncias para generar tu sello. saludos, espero que les sirva |
Respuesta: Facturacion electronica en México Gracias por tu respuesta..... Aun no he podido terminar una prueba Estoy utilizando este codigo que estare haciendo mal? Dim readFile As System.IO.TextReader = New StreamReader("C:\Factura Electronica\FIEL RENOVADA 05-05-2009\ult870701b55_0906050905.key") Dim Ocert As New PemReader(readFile) Dim o As AsymmetricCipherKeyPair = TryCast(Ocert.ReadObject(), AsymmetricCipherKeyPair) Dim sig As ISigner = SignerUtilities.GetSigner("MD5WithRSAEncryption") sig.Init(True, o.[Private]) Dim signature As Byte() = sig.GenerateSignature() Dim signatureHeader = Convert.ToBase64String(signature) readFile.Close() readFile = Nothing |
Respuesta: Facturacion electronica en México Cita:
Lo que veo es que la clave debe ser .pem, para que lo puedas leer con el pemreader utiliza esto de openssl para pasar de .key a pem @echo off color 30 C:\OpenSSL\bin\openssl.exe pkcs8 -inform DER -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out C:\OpenSSL\Keys\aaa010101aaa.key.pem echo la llave privada ha sido creada..... C:\OpenSSL\bin\openssl.exe x509 -inform DER -outform PEM -in C:\OpenSSL\Keys\aaa010101aaa_CSD_01.cer -pubkey -out C:\OpenSSL\Keys\aaa010101aaa.cer.pem echo la llave publica ha sido creada..... Esto lo tengo en un bat, checalo saludos |
que tal alguien tendra los archivos del sat es que no los puedo conseguir , los de prueba para empezar a hacer las pruebas que aqui pusieron soy de mexico y esto de la factura electronica tiene a mis jefes con los pelos de punta asi que si alguien tiene los archivos para poder mostrarles a mis jefes como es la implementacion se los agradezco gracias y para el que dice que solicitemos asesoria ahora si que cuanto es lo que cobras por asesorarme, tengo el sistema en php y mysql, xml no lo se manejar entonces cuanto es lo que cobras por ayudarme a desarrollar la implementacion. ayudaaa mis jefes estan desesperados |
Respuesta: Facturacion electronica en México Cita:
Aqui estan: sat.gob.mx/sitio_internet/e_sat/comprobantes_fiscales/15_15564.html |
Respuesta: Facturacion electronica en México que tal softrednet me puse a trabajar tu codigo ya que pude conseguir los certificados yde paso agradecer a Edg_LB analizando un poco tu codigo a mi me genero los tres archivos en el cual solamente el md5 tenia un contenido, los demas salen vacios si a alguien le sirve yo compre el libro de factura electronica de mario Perez Villeda para si a alguien le sirve bueno me despido agradeciendo a todos sus dudas porque con esas dudas que tienen voy aprendiendo |
Respuesta: Facturacion electronica en México Cita:
Listo, Por fin pude terminar el procedimiento para firma el CFD. Gracias Edg_LB por tu ayuda..... Para leer el Certificado o llave publica ¿ Con cuales refencias lo puedo hacer ? lo he hecho con openssl, pero tambien quiero practicar un poco con .net Saludos. |
Respuesta: Facturacion electronica en México Que tal, ante todo me presento y un gusto pertenecer a esta foro, la razón por la que escribo es la siguiente: he seguido con detenimiento sus valiosas aportaciones para la implementación de la facturación electronica según el anexo 20 del SAT, me han servido de mucho he estado probando utilizando los comandos directos del openssl y desde el inicio me he topado con un problema : La cadena que proporciona el SAT (la cual entiendo que debe ser convertida a UTF-8) la grabó en un archivo txt con dicho formato en el bloq de notas. ||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5|| Sin embargo al utilizar esta cadena para realizar la digestión con el metodo MD5 utilizando los comandos de openssl de la manera siguiente: openssl dgst -md5 Cadena_original.txt El resultado siempre es este: 011bd54ffdcb0b3e97e4b9bbc69c5dd9 Cuando debería ser este: 8aa2b617944427353697e694a2e35a07 Alguien podría tener una idea del porque me esta dando este resultado, he investigado arduamente y al parecer se deba a que el bloq este grabando el formato erroneamente, sin embargo me hice a la tarea de bajar aplicadores(Iconv, FileEncodingConverter,etc.) para convertir el fichero ANSI o ISO8859-1 a UTF-8 y el resultado siempre es el mismo. Por lo que he podido ver ustedes no tuvieron ese problema dado que convierten la cadena a utf8 mediante una sentencia de php. ¿Alguien tiene una idea de como podría hacerlo de otra manera ya que mi aplicación no esta en php? lo único que necesito es convertir este fichero o cadena en UTF-8 correcto. Se los agradecería bastante ya que lo demás me queda perfectamente claro y me he atorado en esta parte. Saludos y de antemano gracias |
Respuesta: Facturacion electronica en México Cita:
Amigo, yo utilizo esta forma y no he tenido ningun problema. openssl dgst -md5 -sign pkey.key.pem -out md5.txt utf8.txt |
Respuesta: Facturacion electronica en México Cita:
Ok, me da gusto, k lo hayas echo, te paso mi codigo de como lo tengo //Read Public Key TextReader trCer = new StreamReader(@PublicKey); PemReader rdCer = new PemReader(trCer); X509Certificate Cert = (X509Certificate)rdCer.ReadObject(); AsymmetricKeyParameter pk = Cert.GetPublicKey(); byte[] nSerie = Cert.SerialNumber.ToByteArray(); string nCertificado = Encoding.ASCII.GetString(nSerie); Saludos y suerte, estamos en contacto, por aki andamos echandole un ojo a esto |
Respuesta: Facturacion electronica en México Cita:
Te comento que probando el codigo me marca un error aqui AsymmetricKeyParameter pk = Cert.GetPublicKey(); Referencia a objeto no establecida a que namespace pertenece esa funcion? o que puede ser? |
Respuesta: Facturacion electronica en México Cita:
|
Respuesta: Facturacion electronica en México Cita:
utf8.txt es la cadena original. Saludos |
Respuesta: Facturacion electronica en México Cita:
Es esta la referencia: Org.BouncyCastle.Crypto.AsymmetricKeyParameter pk = Cert.GetPublicKey(); Con eso obtiene la clave publica del certificado, y con esa desencriptas, y ahi mismo obtienes el numero de certificado que te piden en al xml, incluso cuando lees la clave privada, ahi mismo puedes obtner la clave publica, y es la misma que si la lees del certificado, solo que tienes que leer el certificado por que obtienes el numero de serie, con el codigo que e pase antes ya te trael la el numeor de certificado, pk no se en k formato te lo dan y si lo checas en el validador es el mismo el k lees del certificado y el que te da el validador. Cuando enciptas ahi mismo puedes verificar si tu sello es correcto, tiene una opcion para validar tu sello con la clave publica. surte, espero no haberte enrredado con mi choro... |
Respuesta: Facturacion electronica en México Cita:
|
Respuesta: Facturacion electronica en México Cita:
y cual seria la referencia de esta funcion GetPublicKey() pque. parece ser que es la que no me esta funcionando. Estuve buscando en el examinador de objetos para ver a cual pertenece pero son muchos namespaces que lo contienen. en espera de sus comentarios. Saludos. |
Respuesta: Facturacion electronica en México Muchisimas gracias a los camaradas dumysoft y Edg_LB por su aclaración a mis dudas, a través del tiempo en esto del desarrollo me he dado cuenta que esto es como el karma cuando uno se detiene unos minutos en apoyar las dudas que otros compañeros tienen y por las cuales ya hemos pasado, esta acción siempre es revertida. Asi que muchas gracias. En efecto como bien lo dices Edg_LB el grabar la cadena desde el archivo de texto como UTF-8 lo graba con ciertas marcas que contaminan el resumen en MD5. Sucede que estoy haciendo una aplicación de facturación electronica en visual Fox 9 de forma que intentaba el enconding del archivo por fuera, pero al darme cuenta de que no me daba por la razón explicada, busque una función en el mismo fox para convertir al formato correcto además de que buscando por ahi encontré una clase que realiza el digest desde fox sin necesidad de utilizar el openssl (por cierto esta clase quedá a disposición para quien se encuentre en la misma situación que yo y desee hacerlo de VFox). Aunque finalmente debo recurrir a openssl mediante un comando externo para realizar el sellado y lo demás, estoy ahora en esto y veremos como nos va. Un saludo a toda la comunidad y gracias de nuevo camaradas. |
Respuesta: Facturacion electronica en México Cita:
using System; using System.Collections.Generic; using System.Text; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Utilities.Encoders; using Org.BouncyCastle.Crypto.Engines; using Org.BouncyCastle.Crypto.Generators; using Org.BouncyCastle.Security; using System.IO; using Org.BouncyCastle.X509; using Org.BouncyCastle.OpenSsl; using Org.BouncyCastle.Utilities.Collections; using Org.BouncyCastle.Crypto.Parameters; using System.Security.Cryptography; //Read Public Key TextReader trCer = new StreamReader(@PublicKey); PemReader rdCer = new PemReader(trCer); X509Certificate Cert = (X509Certificate)rdCer.ReadObject(); Org.BouncyCastle.Crypto.AsymmetricKeyParameter pk = Cert.GetPublicKey(); byte[] nSerie = Cert.SerialNumber.ToByteArray(); string nCertificado = Encoding.ASCII.GetString(nSerie); saludos... |
Hola, a todos pues yo soy nuevo en este ambito de la facturacion electronica al igual que en este foro, hasta ahorita he hecho la generacion de la cadena asi como su digestion md5, ahora viene lo bonito que es firmar la digestion con la llave privada y la cual he convertido a formato PEM, pero esto lo estoy haciendo en asp.net con c# alguien que me pueda ayudar a firmar la cadena por favor?? al igual yo puedo ayudar con lo que llevo hasta ahorita, muchas gracias de antemano Pues ahora he encontrado un [URL="http://www.jensign.com/opensslkey/index.html"]programa[/URL] que me genera un xml de mi llave privada, y me da la opcion de generarme un .p12 el cual ese ya me sirve para firmar mi cadena ya que esto lo hace con las librerias normales de c#, espero me puedan ayudar, o si pueden decirme como firmar con las librerias de BouncyCastle estaria genial, gracias por su ayuda Pues les agradezco a todos la ayuda, ya lo resolvi en c# Saludos Edicion: Ya es valido el sello que genera mi programa, si alguien necesita ayuda estoy dispuesto a ayudar... Saludos |
Hola, sin duda es un excelente compendio de informacion pero yo me atore en donde tengo que convertir de .key a .key.pem me regresa el error: Error decrypting key 6661:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461: 6661:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:97: 6661:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:123: Según se el password que tengo es el correcto pero sigo teniendo el mismo error. :'( Cita:
|
Respuesta: Facturacion electronica en México Hoola colegas, buena tarde, y Feliz Año. Aqui nuevamente, quisera saber si alguien sabe como se le hace para que mis facturas, se las envie al SAT y me las valide, me comentaron de una certificacion, pero no se que onda con eso, espero sus respuestas. Gracias |
Respuesta: Facturacion electronica en México Cita:
Saludos |
Respuesta: Facturacion electronica en México Cita:
Ola k tal, Si hay forma de hacerlo con la libreria de BouncyCastle, no se cuales sean las referencias, lo hare y si lo tengo lo publico, por ahi puse codigo de como generar el sello utilizando BouncyCastle. Saludos |
| La zona horaria es GMT -6. Ahora son las 07:38. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.