![]() |
Respuesta: Facturas Digitales SAT - Mexico C# Cita:
Disculpa...funciona al 100 tu sistema??? Responde pronto |
Respuesta: Facturas Digitales SAT - Mexico C# Que tal, antes que nada un saludo a todos, esta es la primera vez que escribo en este foro, pero realmente necesito ayuda. Estoy atorado con la generacion del archivo con la cadena original, ya que al guardarlo o me lo guarda en ansi o utf8 pero con bom. El problema es que si guardo el texto de la cadena original dentro de la variable si me lo guarda sin bom, pero si la variable que tiene la cadena original es producto de las concatenaciones ya no me funciona, espero me haya dado a entender, por ejemplo: Funciona: strCadOriginal = "||2.0|FAPBL|38|20-12-2010T11:..." No funciona: strCadIriginal = strVersion & strSerie & ... Sabran por que es esto, tengo mas de tres dias con esto y no puedo resolverlo, les agradezco su atencion. Gracias Cita:
|
Respuesta: Facturas Digitales SAT - Mexico C# Que tal, antes que nada un saludo a todos, esta es la primera vez que escribo en este foro, pero realmente necesito ayuda. Estoy atorado con la generacion del archivo con la cadena original, ya que al guardarlo o me lo guarda en ansi o utf8 pero con bom. El problema es que si guardo el texto de la cadena original dentro de la variable si me lo guarda sin bom, pero si la variable que tiene la cadena original es producto de las concatenaciones ya no me funciona, espero me haya dado a entender, por ejemplo: Funciona: strCadOriginal = "||2.0|FAPBL|38|20-12-2010T11:..." No funciona: strCadIriginal = strVersion & strSerie & ... Sabran por que es esto, tengo mas de tres dias con esto y no puedo resolverlo, les agradezco su atencion. Gracias |
Respuesta: Facturas Digitales SAT - Mexico C# Ve en el foro de .net http://www.forosdelweb.com/f29/factu...mexico-806167/ Como recomendacion, es mejor generar la cadena original mediante la transformacion via XSLT con el archivo publicado x el sat. Queda en 3 o 4 lineas y te evitas problemas. |
Respuesta: Facturas Digitales SAT - Mexico C# Hola, solo para agradecer a todos y de paso postear mis resultados. No se como este esto, pero ahi va mi solucion que me genera un sello valido:
Código C#:
Ver original [URL="http://www.forosdelweb.com/f78/facturas-digitales-sat-mexico-c-803607/index3.html#post3573197"]Aqui esta el post en el que el usuario J_L_A menciona como generar las clases a partir del archivo [B]cfdv2.xsd[/B][/URL] Gracias a todos. |
Respuesta: Facturas Digitales SAT - Mexico C# Gracias a todos los que ponen sus dudas y soluciones he logrado crear mi comprobante fiscal digital, de aquí y de otras páginas, les dejo mi código por si a alguien le sirve, es visual basic 2008: Cadena Original: Cadena = “|” SGL_Query = “SELECT EFA_CEFA,EFA_NUME,CONVERT(VARCHAR,EFA_FECH,126),CT E_NORS,CTE_RFCC,CTE_CALL,CTE_NEXT,CTE_NINT,CTE_COL O,” SGL_Query = SGL_Query & “PDM_DESC, ENT_DESC, PAI_DESC, CTE_CODP ” SGL_Query = SGL_Query & “FROM TDFCTEFA, TCFCTCTE, TCRHUPAI, TCRHUPDM, TCRHUENT ” SGL_Query = SGL_Query & “WHERE EFA_CCTE = CTE_CCTE And CTE_CPDM = PDM_CPDM And CTE_CENT = ENT_CENT ” SGL_Query = SGL_Query & “And CTE_CPAI = PAI_CPAI ” SGL_Query = SGL_Query & ” AND EFA_CEFA=” & Val(Txt_Clave.Text) Call Ejecuta(sat, SGL_Query) Do Until TraeSig(sat) = NOMOREROWS Cadena = Cadena + “|2.0|A” Cadena = Cadena + “|” + Trim(DameDato(sat, 2)) Cadena = Cadena + “|” + Trim(DameDato(sat, 3)) Cadena = Cadena + “|174911|2010|ingreso|efectivo|Pago en una sola exhibicion|subtotal|0|grantotal” Cadena = Cadena + “|JSI060303UA9|JF SISTEMAS, S. A. DE C. V.|MIRAVEREDA|23|B|CUMBRIA” Cadena = Cadena + “|CUAUTITLAN IZCALLI|ESTADO DE MEXICO|MEXICO|54740″ Cadena = Cadena + “|” + Trim(DameDato(sat, 5)) Cadena = Cadena + “|” + Trim(DameDato(sat, 4)) Cadena = Cadena + “|” + Trim(DameDato(sat, 6)) If Trim(DameDato(sat, 7)) + Trim(DameDato(sat, 8)) “” Then Cadena = Cadena + “|” + Trim(DameDato(sat, 7)) + Trim(DameDato(sat, 8)) Else Cadena = Cadena + “|” End If Cadena = Cadena + “|” + Trim(DameDato(sat, 9)) Cadena = Cadena + “|” + Trim(DameDato(sat, 10)) Cadena = Cadena + “|” + Trim(DameDato(sat, 11)) Cadena = Cadena + “|” + Trim(DameDato(sat, 12)) Cadena = Cadena + “|” + Trim(DameDato(sat, 13)) Loop SGL_Query = “SELECT DFE_CANT,DFE_CONC,DFE_IMPO,DFE_CANT*DFE_IMPO,DFE_I IVA*DFE_CANT,DFE_CONS ” SGL_Query = SGL_Query & “FROM TDFCTDFE WHERE DFE_CEFA=” & Val(Txt_Clave.Text) Call Ejecuta(sat, SGL_Query) Dim ImpIva As Double ImpIva = 0 GTotal = 0 Subtotal = 0 Do Until TraeSig(sat) = NOMOREROWS Cadena = Cadena + “|” + Trim(DameDato(sat, 1)) Cadena = Cadena + “|PZA” Cadena = Cadena + “|” + Trim(DameDato(sat, 6)) Cadena = Cadena + “|” + Trim(DameDato(sat, 2)) Cadena = Cadena + “|” + Trim(Str(CorrigeMoneda(DameDato(sat, 3)))) Cadena = Cadena + “|” + Trim(Str(CorrigeMoneda(DameDato(sat, 4)))) ImpIva = ImpIva + Val(CorrigeMoneda(DameDato(sat, 5))) Subtotal = Subtotal + CorrigeMoneda(DameDato(sat, 4)) GTotal = GTotal + CorrigeMoneda(DameDato(sat, 4)) + CorrigeMoneda(DameDato(sat, 5)) Loop Cadena = Cadena + “|IVA|” + Trim(Str(IIva * 100)) Cadena = Cadena + “|” & Trim(Str(ImpIva)) Cadena = Cadena + “|” & Trim(Str(ImpIva)) Cadena = Cadena + “||” Cadena = Replace(Cadena, “subtotal”, Trim(Str(Subtotal))) Cadena = Replace(Cadena, “grantotal”, Trim(Str(GTotal))) System.IO.File.WriteAllText(“C:\SARV3.1J\ELE\caden a_orig.txt”, Cadena) archivo XML: Dim ANIO As Long ANIO = 0 SGL_Query = “SELECT YEAR(EFA_FECH) FROM TDFCTEFA WHERE EFA_CEFA=” & Val(Txt_Clave.Text) Call Ejecuta(sat, SGL_Query) Do Until TraeSig(sat) = NOMOREROWS ANIO = Val(DameDato(sat, 1)) Loop Dim W As New XmlTextWriter(“C:\SARV3.1J\ELE\” & Txt_Clave.Text & “.xml”, System.Text.Encoding.UTF8) W.WriteStartDocument() Shell(“C:\OpenSSL-Win32\bin\openssl.exe pkcs8 -inform DER -in C:\SARv3.1J\ELE\JSI060303UA9_0903250930.key -passin pass:chela2009 -out C:\SARV3.1J\ELE\JSI.key.pem”) System.Threading.Thread.Sleep(500) Shell(“C:\OpenSSL-Win32\bin\openssl.exe x509 -inform DER -outform PEM -in C:\SARv3.1J\ELE\jsi060303ua9_1010061243s.cer -pubkey -passin pass:chela2009 -out C:\SARV3.1J\ELE\JSI.cer.pem”) System.Threading.Thread.Sleep(500) If ANIO 0 Then W.WriteStartElement(“Impuestos”) W.WriteAttributeString(“totalImpuestosTrasladados” , Trim(Str(ImpIva))) W.WriteStartElement(“Traslados”) W.WriteStartElement(“Traslado”) W.WriteAttributeString(“impuesto”, “IVA”) W.WriteAttributeString(“tasa”, Trim(Str((IIva * 100)))) W.WriteAttributeString(“importe”, Trim(Str(ImpIva))) W.WriteEndElement() ‘finaliza traslado W.WriteFullEndElement() ‘finaliza traslados W.WriteFullEndElement() ‘finaliza impuestos End If W.WriteStartElement(“Impresion”) W.WriteAttributeString(“CadenaOriginal”, Cadena) W.WriteFullEndElement() ‘………………………………… W.WriteFullEndElement() ‘finaliza comprobante W.WriteEndDocument() ‘finaliza documento W.Flush() W.Close() obviamente yo uso mi base de datos, espero entiendan el código y lo adapten al suyo. |
Respuesta: Facturas Digitales SAT - Mexico C# Que tal grupo, como les va ? ya tenia mucho que no entraba pero me gustaria saber si alguien ya sustituyo el metodo MD5 por SHA-1 en C# . Gracias a todos y seguimos en contacto. Saludos. |
Respuesta: Facturas Digitales SAT - Mexico C# Revisa esta clase [URL="http://msdn.microsoft.com/es-es/library/system.security.cryptography.sha1cryptoserviceprov ider%28VS.80%29.aspx"]SHA1CryptoServiceProvider[/URL] |
Respuesta: Facturas Digitales SAT - Mexico C# Hola a todos, hace poco empece con esto de la facturacion electronica, y gracias a todos sus aportes, rapidamente he conseguido generar un sello valido en C# Me gustaria que me asesoraran en que pasos siguen, por el momento estoy abordando los siguientes: 1. Crear xml de la factura con sello digital 2. Reporte mensual 3. Pdf para mostrar la factura (todavia investigando) pero no se que mas sigue :( Agradeceria mucho tips, que es eso de la norma para respaldarlas, que otros procesos hay, consideraciones... casi no quiero nada jeje y de verdad muchas gracias a todos |
Respuesta: Facturas Digitales SAT - Mexico C# A mi tambien me esta funcionando el código que mencionas, pero ahora ocupo el 'validador' o sea leer del XML el certificado, leer el sello digital y leer la cadena y validar con esos tres datos, he podido leer los datos pero la funcion en c# rsa.VerifyData(); no me funciona, te anexo el codigo para que le eches un ojo, en teoria deberia de funcionar: public string ValidaSelloDigital2(string selloDigital, string cert, string cadena) { try { byte[] sello_byte = Convert.FromBase64String( selloDigital); byte[] cert_byte = Convert.FromBase64String( cert); X509Certificate2 certificado = new X509Certificate2( cert_byte); //initialze the byte arrays to the public key information. byte[] pk = certificado.GetPublicKey(); //Create a new instance of RSACryptoServiceProvider. RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.PersistKeyInCsp = false; //Get an instance of RSAParameters from ExportParameters function. RSAParameters RSAKeyInfo = rsa.ExportParameters(false); //Set RSAKeyInfo to the public key values. RSAKeyInfo.Modulus = pk; //Import key parameters into RSA. rsa.ImportParameters(RSAKeyInfo); byte[] cadena_byte = System.Text.Encoding.UTF8.GetBytes(cadena); System.Security.Cryptography.SHA1CryptoServiceProv ider x = new System.Security.Cryptography.SHA1CryptoServiceProv ider(); byte[] data = x.ComputeHash(cadena_byte); System.Security.Cryptography.MD5CryptoServiceProvi der x2 = new System.Security.Cryptography.MD5CryptoServiceProvi der(); byte[] data2 = x2.ComputeHash(cadena_byte); bool result = rsa.VerifyHash(data2, CryptoConfig.MapNameToOID("MD5"), sello_byte); bool result2 = rsa.VerifyHash(data, CryptoConfig.MapNameToOID("SHA1"), sello_byte); string ret = "Sello inválido."; if (result) { ret = "Sello válido con digestion MD5 " + hash_md5(cadena); } else { if (result2) { ret = "Sello válido con digestion SHA1 " + hash_sha1(cadena); } } return ret; } catch (Exception ex) { return "Error al desencriptar el sello digital " + ex.ToString(); } } Cita:
|
Respuesta: Facturas Digitales SAT - Mexico C# hola a todos, que datos proporciona el sat, tengo entendido que nos da un archivo .cer y uno .key... pero como obtengo los datos para mi factura, es decir, el folio, año de aprobacion, numero de aprobacion, numero de certificado, el certificado pues es el .cer, por ese no hay problema... ojala y no sea muy tonta mi pregunta saludos a todos |
Respuesta: Facturas Digitales SAT - Mexico C# Cita:
|
Respuesta: Facturas Digitales SAT - Mexico C# Cita:
|
Respuesta: Facturas Digitales SAT - Mexico C# Hola a todos: Me gustaria saber como generar la factura y el sello digital en ASP con VB6, lo que pasa es que en la empresa donde trabajo ya tienen desarrollado un sistema web en esa plataforma y quieren agregarle el modulo de facturación electronica y la verdad no tengo ni idea de si se puede hacer en VB6 y ASP. Agradecere mucho si alguien me sugiere algo o tiene algun tutorial. |
Respuesta: Facturas Digitales SAT - Mexico C# Tienes los sellos de este año o del 2010 ??? en referencia para saber a cual de las 2 reformas fiscales pertenecerás |
Respuesta: Facturas Digitales SAT - Mexico C# alguien que pueda ayudarme a desarrollar un sistema de facturacion |
Respuesta: Facturas Digitales SAT - Mexico C# Hola, necesito hacer la cancelacion en c#, actualmente utilizo openssl para hacerla mediante codigo, pero no quiero instalar openssl, existe alguna forma de ejecutar los siguientes comandos openssl traducidos a c# pkcs8 -inform DER -in “key.key” -passin pass:pwd -out “key.pem” pkcs12 -export -out “cer.pfx” -inkey “key.pem” -in “cer.pem” -passout pass:pwd base64 -in “cer.pfx” -out “cer.pem” gracias! |
Respuesta: Facturas Digitales SAT - Mexico C# Hola, si lo que quieres es acceder al .key a traves de codigo, e incluso generar el sello digital puedes hacerlo con opensslkey.cs buscalo en google, es codigo C# puro, solo debes incorporarlo en tu proyecto .net, no necesita openssl y tampoco convertir tu .key a otro formato |
Respuesta: Facturas Digitales SAT - Mexico C# hola wwwmaster, lo que estoy tratanto de generar es un pfx que me pide el pac para la cancelacion, actualmente lo genero con los comandos openssl que adjunte, pero no quiero depender del programa, ya cheque el cs que me recomendaste pero sinceramente no le hallo aun, no tendras algun codigo de ejemplo mas aplicado. Gracias! |
La zona horaria es GMT -6. Ahora son las 03:57. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.