Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Facturas Digitales SAT - Mexico C# (http://www.forosdelweb.com/f78/facturas-digitales-sat-mexico-c-803607/)

roku_xd 01/12/2010 13:11

Respuesta: Facturas Digitales SAT - Mexico C#
 
Cita:

Iniciado por ElTajito (Mensaje 3446449)
Gracias a todos por su ayuda, gracias a Dios, ya quedo todo en C#.


Disculpa...funciona al 100 tu sistema???
Responde pronto

freevirus78 20/12/2010 12:16

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:

Iniciado por thebman (Mensaje 3399757)
Que tal eh llegado a la digestion MD5 usando el openSSL en conjunto con vb.net
el error que existe es que cuando la funcion donde guardamos el archivo recibe el parametro de codificar a utf 8 el archivo se guarda como UTF-8 pero al principio del archivo se agrega que la codificacion usada es UTF8 y por eso la digesion con el openSSL no da igual que en el sat intenta guardar el archivo sin darle codificacion y te funcionara.

Dim cadenaoriginal As String = "||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||"


System.IO.File.WriteAllText("C:\cadena.txt", CADENAORIGINAL)

despues aplica la digestion MD5 al archivo cadena.txt y te regresara el resultado.

Nota: No tenemos que darle el formato al archivo porque la instruccion usada ya la guarda en ese formato.

Saludos.


freevirus78 20/12/2010 12:18

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

wwwmaster 20/12/2010 17:09

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.

mrcs_jvc 21/12/2010 12:38

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
  1. public static void Prueba()
  2. {
  3.     Comprobante cfd = new Comprobante();
  4.     // ...
  5.     // Llenar datos del comprobante.
  6.     // ...
  7.  
  8.     cfd.Emisor = new ComprobanteEmisor();
  9.     // ...
  10.     // Llenar datos del emisor.
  11.     // ...
  12.  
  13.     cfd.Emisor.DomicilioFiscal = new t_UbicacionFiscal();
  14.     // ...
  15.     // Llenar datos del domicilio fiscal.
  16.     // ...
  17.  
  18.     cfd.Receptor = new ComprobanteReceptor();
  19.     // ...
  20.     // Llenar datos del receptor.
  21.     // ...
  22.  
  23.     cfd.Receptor.Domicilio = new t_Ubicacion();
  24.     // ...
  25.     // Llenar datos del domicilio.
  26.     // ...
  27.  
  28.     cfd.Conceptos = new ComprobanteConcepto[n];
  29.     cfd.Conceptos[i] = new ComprobanteConcepto();
  30.     // ...
  31.     // Llenar datos de cada concepto.
  32.     // ...
  33.  
  34.     cfd.Impuestos = new ComprobanteImpuestos();
  35.     // ...
  36.     // Llenar datos de impuestos.
  37.     // ...
  38.  
  39.     // Obtener la cadena original.
  40.     string co = GenerarCadenaOriginal(cfd);
  41.  
  42.     // DIGESTION MD5 <- Ignoro para que sirva, pero como se ve, Copy / Paste de uno de los posts.
  43.     MD5 md5 = new MD5CryptoServiceProvider();
  44.     byte[] data = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(co));
  45.     StringBuilder sBuilder = new StringBuilder();
  46.     for (int i = 0; i <= data.Length - 1; i++)
  47.     {
  48.         sBuilder.Append(data[i].ToString("x2"));
  49.     }
  50.     string cadmd5 = sBuilder.ToString();
  51.  
  52.     // Obtener el archivo *.p12 como se menciono en algun post.
  53.     X509C.X509Certificate2 _MiCertificado = new X509C.X509Certificate2(@"x:\micert.p12", "mipass");
  54.     RSACryptoServiceProvider RSA = (RSACryptoServiceProvider)_MiCertificado.PrivateKey;
  55.     MD5CryptoServiceProvider hasher = new MD5CryptoServiceProvider();
  56.     byte[] bytesFirmados = RSA.SignData(System.Text.Encoding.UTF8.GetBytes(co), hasher);
  57.     string sello = Convert.ToBase64String(bytesFirmados);
  58.  
  59.     // Agregamos el sello.
  60.     cfd.sello = sello;
  61.  
  62.     // ...
  63.     // De igual manera, conseguir el numero de certificado.
  64.     // ...
  65.  
  66.     // Generar el comprobante fiscal digital
  67.     GenerarCfd(cfd, @"x:\cfd.xml");
  68. }
  69.  
  70. /// <summary>
  71. /// Genera la cadena original a partir
  72. /// </summary>
  73. /// <param name="cfd">Instancia de la clase Comprobante con la informacion del Comprobante Fiscal Digital.</param>
  74. /// <returns>Un valor de tipo string con el valor de la cadena original.</returns>
  75. public static string GenerarCadenaOriginal(Comprobante cfd)
  76. {
  77.     XmlSerializerNamespaces xmlNameSpace = new XmlSerializerNamespaces();
  78.     xmlNameSpace.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
  79.  
  80.     MemoryStream xmlCadenaOriginal = new MemoryStream();
  81.     XmlTextWriter xmlTextWriter = new XmlTextWriter(xmlCadenaOriginal, Encoding.UTF8);
  82.  
  83.     xmlTextWriter.Formatting = Formatting.Indented;
  84.     XmlSerializer xs = new XmlSerializer(typeof(Comprobante));
  85.  
  86.     xs.Serialize(xmlTextWriter, cfd, xmlNameSpace);
  87.  
  88.     xmlCadenaOriginal.Position = 0;
  89.  
  90.     XPathDocument xpathdoc = new XPathDocument(xmlCadenaOriginal);
  91.     XslTransform xsltrans = new XslTransform();
  92.     xsltrans.Load("E:\\cadenaoriginal_2_0.xslt");
  93.  
  94.     MemoryStream strCadenaOriginal = new MemoryStream();
  95.     XmlTextWriter writer = new XmlTextWriter(strCadenaOriginal, null);
  96.     xsltrans.Transform(xpathdoc, null, writer);
  97.  
  98.     strCadenaOriginal.Position = 0;
  99.     StreamReader sr = new StreamReader(strCadenaOriginal);
  100.     string cadenaOriginal = sr.ReadToEnd();
  101.     sr.Close();
  102.     sr.Dispose();
  103.     sr = null;
  104.  
  105.     writer.Close();
  106.     writer = null;
  107.  
  108.     xmlTextWriter.Close();
  109.     xmlTextWriter = null;
  110.  
  111.     xmlCadenaOriginal.Close();
  112.     xmlCadenaOriginal.Dispose();
  113.     xmlCadenaOriginal = null;
  114.  
  115.     return cadenaOriginal;
  116. }
  117.  
  118. /// <summary>
  119. /// Genera el Comprobante Fiscal Digital.
  120. /// </summary>
  121. /// <param name="cfd">Instancia de la clase Comprobante con la informacion del Comprobante Fiscal Digital.</param>
  122. /// <param name="archivo">Ubicacion del archivo a generar.</param>
  123. public static void GenerarCfd(Comprobante cfd, String archivo)
  124. {
  125.     XmlSerializerNamespaces xmlNameSpace = new XmlSerializerNamespaces();
  126.     xmlNameSpace.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
  127.  
  128.     XmlTextWriter xmlTextWriter = new XmlTextWriter(archivo, Encoding.UTF8);
  129.  
  130.     xmlTextWriter.Formatting = Formatting.Indented;
  131.     XmlSerializer xs = new XmlSerializer(typeof(Comprobante));
  132.     xs.Serialize(xmlTextWriter, cfd, xmlNameSpace);
  133.     xmlTextWriter.Close();
  134.     xmlTextWriter = null;
  135. }

[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.

gujaci 07/01/2011 15:41

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.

javalos532 10/01/2011 22:33

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.

mrcs_jvc 11/01/2011 15:45

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]

gerloxxx 10/02/2011 12:13

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

danfred 25/02/2011 12:55

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:

Iniciado por javalos532 (Mensaje 3533221)
Hola a todos, alguien ya tiene este codigo en C#.... con VB me sale perfecto el sello pero en C# no me da igual ...ese es el codigo que estoy utilizando...

X509Certificate2 _MiCertificado = new X509Certificate2(@"....cert.p12", "12345");
RSACryptoServiceProvider RSA = (RSACryptoServiceProvider)_MiCertificado.PrivateKe y;
MD5 hasher = MD5CryptoServiceProvider.Create();
byte[] bytesFirmados = RSA.SignData(System.Text.Encoding.UTF8.GetBytes(pD ato), hasher);
return Convert.ToBase64String(bytesFirmados);

Gracias.


gerloxxx 02/03/2011 12:54

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

elfkampher 13/04/2011 09:21

Respuesta: Facturas Digitales SAT - Mexico C#
 
Cita:

Iniciado por J_L_A (Mensaje 3573166)
Buen dia a todos los visitantes del foro. Les doy otra liga para ver la última versión de "Anexo 20 de la Primera Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2010, publicada el 14 de septiembre de 2010." en formato doc.

http://www.sat.gob.mx/sitio_internet/informacion_fiscal/legislacion/52_18801.html

A primera vista hay un cambio importante para quienes están en la etapa de generar el sello digital, ahora en lugar de utilizar digestión MD5, el SAT pide que se utilice SHA-1. Aun falta saber cuando entrarán en operación los nuevos cambios pero conviene estar enterados.

A la orden si es que les puedo ayudar en algo. Estoy usando c sharp con openssl y ya logré pasar todas casi todas las etapas (obviamente exceptuando las últimas novedades). Estoy en la parte de los complementos y addendas aunque creo que no me van a ser necesarias.

Saludos!

ya pudiste hacer el sha1 con openssl? me urge terminar esto y el validador del SAT me dice que el sello es invalido, lo estoy haciendo primero con la digestion MD5 si pudieses orientarme te lo agradeceria

elfkampher 19/04/2011 12:43

Respuesta: Facturas Digitales SAT - Mexico C#
 
Cita:

Iniciado por gerloxxx (Mensaje 3766083)
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

buen dia pues mira si estas desarrollando para un cliente el sat tubo que haberte dado ademas del .key y el .cer un documento con los folios una cadena original con los datos fiscales del emisor y en esa viene el año de aprobacion y los folios el numero de certificado es el numero del archivo .cer espero haberte podido aclarar un poco

polacp86 04/05/2011 12:09

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.

JN3 15/07/2011 13:20

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

ecosysonidos 25/11/2011 16:38

Respuesta: Facturas Digitales SAT - Mexico C#
 
alguien que pueda ayudarme a desarrollar un sistema de facturacion

avalor 17/06/2013 15:34

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!

wwwmaster 25/06/2013 00:12

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

avalor 02/07/2013 18:24

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.