Imagen

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)

Todo lo que no cabe en los demas foros........
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

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
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

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.
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

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 ?
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Dado »

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.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

Gracias DADO. De que manera obtengo el XML normalito ?? Por medio de OpenSSL ?? Por favor una ayudadita. Gracias

Saludos
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Dado »

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
Adjuntos
lco.jpg
lco.jpg (66.08 KiB) Visto 17164 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

Ok. Si gracias. De hecho ya estoy leyendo. Te agradezco.

Saludos
Alex Noria
Mensajes: 156
Registrado: Mié Oct 20, 2010 10:03 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Alex Noria »

Terminé un poco mareado de tanto buscar :D 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
Stream
Mensajes: 8
Registrado: Jue Feb 23, 2012 10:57 am

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Stream »

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,
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/
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Lista de Contribuyentes con Obligación (LCO)

Mensaje por Dado »

@Stream

Muchisimas gracias por la informacion, pero no me gusto tu comentario (y lo digo con respeto y a continuacion doy mis razones)
Amigos, están bien perdidos, primero busquen a alguien experto en criptografia......
Como programador debes saber que hay "mil" formas de hacer las cosas y depende de la necesidad de cada quien.

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 !!
Cerrado