Página 1 de 1

Certificado XML x509

Publicado: Mar May 13, 2014 11:39 am
por maildejuan
buenas tardes,

tengo una aplicación en PHP para la recepción de facturas electrónicas a través del portal de la empresa, para validar el sello tomo el certificado que viene en el XML el cual leo con el comando openssl_x509_read() de openSSL ... hasta el momento ha funcionado correctamente, sin embargo he tenido problemas con las facturas de un proveedor y creo que es por el formato del certificado (digo creo por que no tengo mucha experiencia con openSSL) ... anexo el certificado de la factura


LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t........


en especifico el error consiste en que no se puede leer ese certificado con el comando openssl_x509_read() ... he notado que todos los XML que nos envían tienen el certificado mas o menos con el siguiente formato:

MIIEhjCCA26gAwIBAgIUMDAwMDEw........

agradecería me orientaran con que comando puedo leer este certificado o si es incorrecto el formato del mismo o al menos saber por que es diferente a los certificados que los proveedores incluyen en sus facturas electrónicas normalmente

de antemano gracias

Re: Certificado XML x509

Publicado: Mar May 13, 2014 11:45 am
por Dado
No intentaste validar ese XML usando otros validadores?

Siempre ten a la mano un par de validadores extra para validar esos XML sospechosos

Re: Certificado XML x509

Publicado: Mar May 13, 2014 11:54 am
por maildejuan
gracias por la respuesta DADO, si de hecho lo valide con la herramienta que ustedes ponen a disposición, también con el validador del sr Fernando Ortiz (http://www.lacorona.com.mx/fortiz/sat/cfdcvali.php) ... y el resultado fue el mismo, no pueden leer el certificado del XML, en ese momento pensé que seria incorrecto y que el rechazo de la factura estaba correcto hasta que lo valide en el portal de sat y me dio resultado positivo y al descargarlo del mismo portal de sat el certificado viene igual ("raro") ... el proveedor se ampara con el print screen de la pagina de sat informando que la factura es correcta, pero necesito saber como puedo validarlo correctamente desde php para estar prevenido para futuros casos similares ... anexo XML en caso que puedan orientarme con esto, se los agradecería enormemente

Re: Certificado XML x509

Publicado: Mar May 13, 2014 12:04 pm
por Dado
Es correcto, mi ValidaCFD no pudo leer el certificado, pero al descargar una copia ya paso todas las validaciones

Mi recomendacion, dalo por bueno, ignora el error y sigue con tu vida ...........

Re: Certificado XML x509

Publicado: Mar May 13, 2014 12:07 pm
por fortiz
Hola

Acabo de modificar mi validador ... si el certificado incluido no es correcto lo descarga del sitio ftp del sat ...

Linea 664

Código: Seleccionar todo

$pubkeyid = openssl_get_publickey(openssl_x509_read($cert));
if (!$pubkeyid) {
    echo "Certificado interno Incorrecto, descargarlo del FTP del sat ...<br>";
    $pem=get_sat_cert($data['no_cert']);
    $cert = "-----BEGIN CERTIFICATE-----\n".chunk_split($pem,64)."-----END CERTIFICATE-----\n";
    $pubkeyid = openssl_get_publickey(openssl_x509_read($cert));

}

Re: Certificado XML x509

Publicado: Mar May 13, 2014 4:07 pm
por maildejuan
buenas tardes,

de antemano gracias por la atención, la solución que aplique fue la de Fernando Ortiz, aunque sigo creyendo que al ser incorrecto el certificado en el XML no debería aprobarse la factura ... lamentablemente el proveedor se ampara con la validación de sat ...

por otro lado aprovecho la oportunidad para mandar un saludo y agradecimiento a Fernando Ortiz, quiero que sepa que gran parte de mi aplicación se basa en su codificación sin la cual de seguro seguiría en un mar de dudas con respecto a la validación de la factura electrónica, le mando un fuerte apretón de manos y mi reconocimiento