
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
.
Lista de Contribuyentes con Obligación (LCO)
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Lista de Contribuyentes con Obligación (LCO)
Algunos de ustedes ha tenido la necesidad de leer la "Lista de Contribuyentes con Obligación (LCO)":
--- LCO ---
ftp://ftp2.sat.gob.mx/agti_servicio_ftp ... bante_ftp/
Se trata de un archivo XML.
¿ Cómo lo han hecho ? Alguna guía que me puedan proporcionar por favor.
Trae una especie de firma en la cabecera y creo que al final.
LCO: Es una lista que el SAT actualiza periodicamente. Los que no se encuentran en esa lista no pueden facturar electrónicamente.
Gracias ... saludos
--- LCO ---
ftp://ftp2.sat.gob.mx/agti_servicio_ftp ... bante_ftp/
Se trata de un archivo XML.
¿ Cómo lo han hecho ? Alguna guía que me puedan proporcionar por favor.
Trae una especie de firma en la cabecera y creo que al final.
LCO: Es una lista que el SAT actualiza periodicamente. Los que no se encuentran en esa lista no pueden facturar electrónicamente.
Gracias ... saludos
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Con XML Notepad:
"Error loading: c:\Respaldo\LCO_2012-01-20.XML"
Los datos del nivel raíz no son válidos. Línea 1, posición 1.
Con Notepad:
Lo abre pero me muestra caracteres extraños en todo el archivo.
Con C#:
XElement doc = XElement.Load(@"C:\Respaldo\LCO_2012-01-20.XML");
"Los datos del nivel de raíz no son válidos. línea 1, posición 1."
Gracias por la ayuda.
"Error loading: c:\Respaldo\LCO_2012-01-20.XML"
Los datos del nivel raíz no son válidos. Línea 1, posición 1.
Con Notepad:
Lo abre pero me muestra caracteres extraños en todo el archivo.
Con C#:
XElement doc = XElement.Load(@"C:\Respaldo\LCO_2012-01-20.XML");
"Los datos del nivel de raíz no son válidos. línea 1, posición 1."
Gracias por la ayuda.
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Ya veo, se trata de una lista firmada en estándar PKCS#7 por el SAT. Supongo que debo darle un tratamiento a este archivo antes de leer los nodos. ¿ Es correcto ?
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Este tema de la LCO ya se discutio tiempo atras y hay informacion muy interesante, busca aqui en el foro.
De todos modos deja te comento que la LCO esta formada asi :
Al inicio de la LCO tiene LA FIRMA DIGITAL DEL SAT para garantizar que es la LCO "autentica" y no una copia falsa inyectada por un contribuyente que NO DEBERIA FACTURAR.
Despues de la firma viene el XML "normalito"
Al final viene El CERTIFICADO USADO POR EL SAT, para que puedas validar la LCO.
Dependiendo de lo critico de tu aplicacion mi recomendacion es que lo proceses y le quites ese encabezado correspondiente a la firma.
BUSCA AQUI EN EL FORO, recuerdo incluso que alguien publico algo de como deberia validarse.
De todos modos deja te comento que la LCO esta formada asi :
Al inicio de la LCO tiene LA FIRMA DIGITAL DEL SAT para garantizar que es la LCO "autentica" y no una copia falsa inyectada por un contribuyente que NO DEBERIA FACTURAR.
Despues de la firma viene el XML "normalito"
Al final viene El CERTIFICADO USADO POR EL SAT, para que puedas validar la LCO.
Dependiendo de lo critico de tu aplicacion mi recomendacion es que lo proceses y le quites ese encabezado correspondiente a la firma.
BUSCA AQUI EN EL FORO, recuerdo incluso que alguien publico algo de como deberia validarse.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Gracias DADO. De que manera obtengo el XML normalito ?? Por medio de OpenSSL ?? Por favor una ayudadita. Gracias
Saludos
Saludos
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Lista de Contribuyentes con Obligación (LCO)
OpenSSL? no, para nada
Intenta analizarlo con un editor hexadecimal para que comprendas un poco mas de lo que estoy hablando.
Y permiteme seguir insistiendo...BUSCA "LCO" AQUI EN EL FORO, hay mucha mas informacion
Intenta analizarlo con un editor hexadecimal para que comprendas un poco mas de lo que estoy hablando.
Y permiteme seguir insistiendo...BUSCA "LCO" AQUI EN EL FORO, hay mucha mas informacion
- Adjuntos
-
- lco.jpg (66.08 KiB) Visto 17163 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Ok. Si gracias. De hecho ya estoy leyendo. Te agradezco.
Saludos
Saludos
-
- Mensajes: 156
- Registrado: Mié Oct 20, 2010 10:03 pm
Re: Lista de Contribuyentes con Obligación (LCO)
Terminé un poco mareado de tanto buscar
pero al final me quedo con la solución que tu mismo planteaste !!! :
"
Abres el archivo como texto
Lees el primer renglon, lo descartas (ese es el que contiene la firma)
Lees el siguiente renglon, lo analizas y lo metes a una base de datos,
Repetir hasta llegar al nodo de cierre del xml
Descartar el resto ya que es un certificado
"
Gracias ... saludos

"
Abres el archivo como texto
Lees el primer renglon, lo descartas (ese es el que contiene la firma)
Lees el siguiente renglon, lo analizas y lo metes a una base de datos,
Repetir hasta llegar al nodo de cierre del xml
Descartar el resto ya que es un certificado
"
Gracias ... saludos
-
- Mensajes: 8
- Registrado: Jue Feb 23, 2012 10:57 am
Re: Lista de Contribuyentes con Obligación (LCO)
Amigos, están bien perdidos, primero busquen a alguien experto en criptografia, yo no soy experto en el tema, pero al menos me he documentado lo suficiente como poderlos orientar..
No imagino por que intentan extraer el texto sin verificar la firma, eso esta mal !!! El sat les va a dar pa atraz si le dicen que estran extrayendo el texto sin verificarlo!!
La lista LCO, no está encriptada, está firmada bajo el estandar Pkcs7, lo que significa que el contenido del mismo se puede verificar usando programacion criptografica, en .NET existen clases que ayudan a verificar el contenido firmado.
En este link, podrán encontrar algo interesante sobre la verificacion de la firma de un archivo xml en .NET,
http://blogs.msdn.com/b/alejacma/archiv ... ature.aspx
La clase SignedCms permite verificar la firma, pero no les va a servir por que el archivo LCO mide ya mas de 100 Mb (cosa que antes se podia sin problemas), la clase signedcms tiene un limite de 100 Mb.. en mismo link lo dice, como quiera deberán documentarse para que se enteren de que se trata...
When signing large files ( > 100 MB) with SignedCMS.ComputeSignature in a .NET 3.5 SP1 application, you may get the following exception:
System.Security.Cryptography.CryptographicException: ASN1 value too large
Por lo tanto, deverán implementar la api de windows CryptMsg para poder verificar archivos de hasta 1 Gb tengo entendido...
En el siguiente link podrán encontrar como hacerlo...
http://blogs.msdn.com/b/alejacma/archiv ... ode-c.aspx
Si tienen alguna duda adelante,
No imagino por que intentan extraer el texto sin verificar la firma, eso esta mal !!! El sat les va a dar pa atraz si le dicen que estran extrayendo el texto sin verificarlo!!
La lista LCO, no está encriptada, está firmada bajo el estandar Pkcs7, lo que significa que el contenido del mismo se puede verificar usando programacion criptografica, en .NET existen clases que ayudan a verificar el contenido firmado.
En este link, podrán encontrar algo interesante sobre la verificacion de la firma de un archivo xml en .NET,
http://blogs.msdn.com/b/alejacma/archiv ... ature.aspx
La clase SignedCms permite verificar la firma, pero no les va a servir por que el archivo LCO mide ya mas de 100 Mb (cosa que antes se podia sin problemas), la clase signedcms tiene un limite de 100 Mb.. en mismo link lo dice, como quiera deberán documentarse para que se enteren de que se trata...
When signing large files ( > 100 MB) with SignedCMS.ComputeSignature in a .NET 3.5 SP1 application, you may get the following exception:
System.Security.Cryptography.CryptographicException: ASN1 value too large
Por lo tanto, deverán implementar la api de windows CryptMsg para poder verificar archivos de hasta 1 Gb tengo entendido...
En el siguiente link podrán encontrar como hacerlo...
http://blogs.msdn.com/b/alejacma/archiv ... ode-c.aspx
Si tienen alguna duda adelante,
PAC InvoiceONE No. Certificación 57203
http://www.sat.gob.mx/sitio_internet/as ... 23063.html
Timbrado CFDI a 30 centavos! contactanos!
http://www.invoiceone.com.mx/
http://www.sat.gob.mx/sitio_internet/as ... 23063.html
Timbrado CFDI a 30 centavos! contactanos!
http://www.invoiceone.com.mx/
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Lista de Contribuyentes con Obligación (LCO)
@Stream
Muchisimas gracias por la informacion, pero no me gusto tu comentario (y lo digo con respeto y a continuacion doy mis razones)
Que pasa si por ejemplo solo quiero consultar la LCO para ver si yo o un cliente mio esta en la lista, algo "no oficial", rapido y sencillo, solo quiero saber el estatus de un RFC.....
Pues eliminar todo ese proceso de la firma y ya, simple, rapido, directo.
Como garantizas que "mas o menos" es confiable, pues porque lo descargaste DEL SITIO DEL SAT
La firma incluida en el XML es para evitar que un hacker injecte informacion falsa, pero date cuenta, no solo tendria que crackear el XML, injectarle la informacion falsa y volverlo a firmar, TAMBIEN tiene que hackear el FTP DEL SAT para ponerlo en el lugar oficial donde normalmente se encuentra el archivo.**
Quieres mas complicado? bueno y de que le serviria a un hacker injectar un RFC en la LCO, pues obtener permiso de hacer factura electronica, Aaaah! PERO tambien tiene que piratearse una FIEL oficial y un Certificado de Sello Digital porque no creo que un RFC que no este en la LCO se le otorgue esos otros dos certificados......asi o mas complicado.
E insisto, si lo unico que quiero es ver el status de un RFC pues me olvido de todo eso y le quito lo que A MI NO ME SIRVE. =)
___________________________________________________________________
**Ah! se me olvidaba, tendria que hacer ese proceso DIARIO ya que la lista asi se actuliza, conclusion, ta' dificil (no imposible claro)
Muchisimas gracias por la informacion, pero no me gusto tu comentario (y lo digo con respeto y a continuacion doy mis razones)
Como programador debes saber que hay "mil" formas de hacer las cosas y depende de la necesidad de cada quien.Amigos, están bien perdidos, primero busquen a alguien experto en criptografia......
Que pasa si por ejemplo solo quiero consultar la LCO para ver si yo o un cliente mio esta en la lista, algo "no oficial", rapido y sencillo, solo quiero saber el estatus de un RFC.....
Pues eliminar todo ese proceso de la firma y ya, simple, rapido, directo.
Como garantizas que "mas o menos" es confiable, pues porque lo descargaste DEL SITIO DEL SAT
La firma incluida en el XML es para evitar que un hacker injecte informacion falsa, pero date cuenta, no solo tendria que crackear el XML, injectarle la informacion falsa y volverlo a firmar, TAMBIEN tiene que hackear el FTP DEL SAT para ponerlo en el lugar oficial donde normalmente se encuentra el archivo.**
Quieres mas complicado? bueno y de que le serviria a un hacker injectar un RFC en la LCO, pues obtener permiso de hacer factura electronica, Aaaah! PERO tambien tiene que piratearse una FIEL oficial y un Certificado de Sello Digital porque no creo que un RFC que no este en la LCO se le otorgue esos otros dos certificados......asi o mas complicado.
E insisto, si lo unico que quiero es ver el status de un RFC pues me olvido de todo eso y le quito lo que A MI NO ME SIRVE. =)
___________________________________________________________________
**Ah! se me olvidaba, tendria que hacer ese proceso DIARIO ya que la lista asi se actuliza, conclusion, ta' dificil (no imposible claro)
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!