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


.

VALIDADOR EN PHP

La Razon de ser de este sitio, aqui va a ver anuncios, comentarios dudas y quejas de este programa de validacion de Comprobantes Fiscales Digitales.
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: VALIDADOR EN PHP

Mensaje por Dado »

alberto850822 escribió:Sigo con el tema del validador en php, pero me he topado con una duda...alguien sabe si existe alguna forma de obtener la cadena original a partir del sello del xml?.
Se que se puede obtener la cadena original a partir del xml y su respectivo xslt, pero quisiera saber si existe una forma de obtener la cadena original a partir del sello del mismo xml.


Saludos
Nop, eso es imposible, el esquema es de un solo sentido :

Cadena --> Hash --> Sello
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
fortiz
Mensajes: 221
Registrado: Vie Dic 10, 2010 8:11 am

Re: VALIDADOR EN PHP

Mensaje por fortiz »

Hola,

Ya estoy un poco mas contento con los resultados de mi validador en PHP.

Todavia no llega ni a los tobillos del validacfd de dado pero les mando la liga http://www.lacorona.com.mx/fortiz/sat/cfdcvali.php

Como siempre, estoy abierto a cualquier sugerencia para mejorar el programa.

Saludos
webapps
Mensajes: 4
Registrado: Mié Feb 02, 2011 12:51 pm

Re: VALIDADOR EN PHP

Mensaje por webapps »

hola fortiz, probe tu validador con la factura firmada con Java que esta en otro hilo y no la toma como valida, es un detalle de como esta estructurado el certificado es cuestion de un salto de linea "\n" al final... asi lo solucione en el que desarrolle.
Avatar de Usuario
ferckham
Mensajes: 27
Registrado: Jue Oct 07, 2010 2:02 pm

Re: VALIDADOR EN PHP

Mensaje por ferckham »

webapps escribió:hola fortiz, probe tu validador con la factura firmada con Java que esta en otro hilo y no la toma como valida, es un detalle de como esta estructurado el certificado es cuestion de un salto de linea "\n" al final... asi lo solucione en el que desarrolle.
Puedes subir el xml del cual no se valida bien con el validador de fortiz porfavor, quiero hacer pruebas con un validador que estamos desarrollando , que por cierto pronto publicare la liga para que todos los usuarios de validacfd puedan testear. Por otro lado alguien sabe donde se puede conseguir los arxhivos xsd de impuestos locales desde la pagina dle sat?
Saludos.
webapps
Mensajes: 4
Registrado: Mié Feb 02, 2011 12:51 pm

Re: VALIDADOR EN PHP

Mensaje por webapps »

Disculpa la tardanza pero no habia revisado el foro, en este hilo esta:
http://www.validacfd.com/phpbb3/viewtop ... +java#p111

No he vuelto a probar el validador de fortiz tal vez ya realizo los cambios.
Avatar de Usuario
ferckham
Mensajes: 27
Registrado: Jue Oct 07, 2010 2:02 pm

Re: VALIDADOR EN PHP

Mensaje por ferckham »

webapps escribió:Disculpa la tardanza pero no habia revisado el foro, en este hilo esta:
http://www.validacfd.com/phpbb3/viewtop ... +java#p111

No he vuelto a probar el validador de fortiz tal vez ya realizo los cambios.
Gracias vamos a checarlo en nuestro validador y ver que tal responde XD.
Por cierto pronto vamos a publicar la primera version beta del validador, espero que la gente pueda ayudar a depurarlo con sus aportes.
Saludos.
Avatar de Usuario
alberto850822
Mensajes: 5
Registrado: Vie Ene 28, 2011 1:53 pm

Re: VALIDADOR EN PHP

Mensaje por alberto850822 »

fortiz escribió:Hola,

Ya estoy un poco mas contento con los resultados de mi validador en PHP.

Todavia no llega ni a los tobillos del validacfd de dado pero les mando la liga http://www.lacorona.com.mx/fortiz/sat/cfdcvali.php

Como siempre, estoy abierto a cualquier sugerencia para mejorar el programa.

Saludos

Buen dia, fortiz, me he tomado la libertad de probar tu validador y he visto que si te arroja sello valido en los xmls firmados con java y open ssl, he probado tu codigo en una implementacion de validador que tambien he estado desarrollando, pero he visto que en el mio me dice que el sello no es valido (utilizando el codigo que publicaste) y he visto que hay un post que habla de un salto de linea al final del certificado, es acaso por esta razon que mi validador me arroja sello invalido.

Saludos
Avatar de Usuario
ferckham
Mensajes: 27
Registrado: Jue Oct 07, 2010 2:02 pm

Re: VALIDADOR EN PHP

Mensaje por ferckham »

alberto850822 escribió:
fortiz escribió:Hola,

Ya estoy un poco mas contento con los resultados de mi validador en PHP.

Todavia no llega ni a los tobillos del validacfd de dado pero les mando la liga http://www.lacorona.com.mx/fortiz/sat/cfdcvali.php

Como siempre, estoy abierto a cualquier sugerencia para mejorar el programa.

Saludos

Buen dia, fortiz, me he tomado la libertad de probar tu validador y he visto que si te arroja sello valido en los xmls firmados con java y open ssl, he probado tu codigo en una implementacion de validador que tambien he estado desarrollando, pero he visto que en el mio me dice que el sello no es valido (utilizando el codigo que publicaste) y he visto que hay un post que habla de un salto de linea al final del certificado, es acaso por esta razon que mi validador me arroja sello invalido.

Saludos
Hola alberto850822, efectivamente ese es el detalle, tienes que eliminar todos los espacion y saltos de linea para que se valide correctamente el sello. Eso era un error que ia corregimos en nuestro validador ;)
Avatar de Usuario
alberto850822
Mensajes: 5
Registrado: Vie Ene 28, 2011 1:53 pm

Re: VALIDADOR EN PHP

Mensaje por alberto850822 »

Ok muchas gracias ferckham, he hecho la modificacion pertinente para eliminar los caracteres invalidos y efectivamente, el sello ya me lo marca como valido.

Sigo verificando...

Saludos, gracias
nyxweb
Mensajes: 3
Registrado: Sab Abr 16, 2011 12:42 pm

Re: VALIDADOR EN PHP

Mensaje por nyxweb »

fortiz escribió:Hola,

Ya estoy un poco mas contento con los resultados de mi validador en PHP.

Todavia no llega ni a los tobillos del validacfd de dado pero les mando la liga http://www.lacorona.com.mx/fortiz/sat/cfdcvali.php

Como siempre, estoy abierto a cualquier sugerencia para mejorar el programa.

Saludos
Que tal fortiz, tu siempre con tus excelentes aportes. Yo desarrollé un validador para una empresa, pero me anticipé a los problemas de validación cuando un sello es generado con un certificado erroneo. Hoy precisamente me tocó descubrir que uno de los proveedores de esta empresa se encuentra en este caso. Me tomo casi una semana darme cuenta de ello. Y he aqui el resultado:

NO UTILIZEN EL CERTIFICADO QUE VIENE EN EL CFD!!!!!

La caldera esta por explotar, ya que esta empresa no le ha pagado a su proveedor desde Enero por que no pasan los CFD la validación en el software que desarrollé, pero si en el validador del SAT. El problema es que no se seleccionó la opción de descargar CSD. Cuando se selecciona esta opción, el validador oficial la marca como inválida. El veredicto fué que el proveedor está usando un CSD incorrecto.

En el caso del validador de fortiz, si utiliza el certificado que viene en el CFD, por eso si pasaba la validación ahi. Pero realmente era inválido.

Dejo a continuación mi granito de arena con el código para descarga del CSD del FTP de hacienda:

Código: Seleccionar todo

<?php
$noCertificado = '00001000000112345678'; // Este deben reemplazarlo con el valor del atributo noCertificado del nodo Comprobante
$rutaFtp = '/Certificados/FEA/' . substr($noCertificado, 0, 6) . '/' . substr($noCertificado, 6, 6) . '/' . substr($noCertificado, 12, 2) . '/' . substr($noCertificado, 14, 2) . '/' . substr($noCertificado, 16, 2) . '/' . $noCertificado . '.cer';
$conn = ftp_connect('ftp2.sat.gob.mx');
ftp_login($conn, 'anonymous', 'test@ejemplo.com');
ftp_get($conn, "/tmp/{$noCertificado}.cer", $rutaFtp, FTP_BINARY); // Aqui estamos descargando el certificado en una ruta temporal, ya que viene en formato DER
ftp_close($conn);
$publica = array();
exec("openssl x509 -inform DER -outform PEM -in /tmp/{$noCertificado}.cer -pubkey", $publica); // Hay que convertir el certificado de formato DER a PEM para poder ser usado en PHP. En este caso, esto se ejecuta en un servidor Linux.
$certificado = implode("\n", $publica);
$pubkeyid = openssl_get_publickey($certificado); // Y aqui ya tienen su llave publica lista para iniciar a validar CFD
Espero sea de ayuda para quien esté haciendo esta clase de implementaciones.

Saludos!!
Cerrado