Doring escribió:Me da el mismo error "Bad Base64 certificate encoding" , incluso usando dos certificados diferentes, uno que saqué en 2010 y otro en 2011.
En otros clientes no tengo ningún problema.
Con el Validador anterior no salía esta llamada, pero decía que la factura se había elaborado fuera de la vigencia del certificado, siendo que la vigencia era correcta.
00001000000102373480|2010-12-13 20:59:40|2012-12-12 20:59:40|SMP921021BQ4|A
No crean que no le he buscado por todos lados, pero ya no se que hacer.
Realmente agradeceré sus ideas.
Envío al maestro DADO el .XML a su correo.
Muchas Gracias por toda su ayuda .
Ok. La respuesta corta, ya revise tu XML y (como dice el ValidaCFD) esta mal codificado tu certificado, por alguna razon esta incompleta la codificacion, checa esto:
Tu certificado tiene la siguiente terminacion :
.....
F8yNJd6oKisFaKI7p+g3hVBqLYeOj5cjayq6ffjgan1
Aqui esta el certificado bien terminado
.....
F8yNJd6oKisFaKI7pg3hVBqLYeOj5cjayq6ffjgan138bK5TnrFXtqc0wkqmp3kgxvsGLoIsfvnAk=
La parte subrayada esta tanto en tu certificado como el certificado que obtuve usando OpenSSL, la parte en negrillas es la que LE FALTA A TU CERTIFICADO, es mas puedes copiar esa parte que te indico en negrillas, insertarlo al final de tu certificado y comprobar que ya valida bien.
Ahora la RESPUESTA LARGA. (deja voy por una Coca porque esto va pa' largo je je je)
Porque ANTES marcaba "fecha no valida"??, ahi va la explicacion DE PROGRAMADOR, si no entiendes lo siguiente no te preocupes, solo haz un acto de fe y cree lo que te dice el ValidaCFD je je je
Es un problema de logistica, como ejemplo, puedo programar en el valida que verifique que 100 = 100 (cien es igual a cien) PERO si me aparece por ahi un 100 = 150 (cien igual a 150) puedo mas o menos tratar de analizarlo y en principio decir que hay un error, eso es claro, pero hay MIL FORMAS DE COMETER UN ERROR que mi ValidaCFD no tiene contemplado y que es dificil de "imaginar".
Aterrizando un poco las cosas, mi ValidaCFD antes "trataba" de leer el certificado y despues de leerlo intentaba extraer la vigencia, el numero de serie, etc. PERO no tenia contemplado una de esas MIL FORMAS en las que algo podia salir mal.
Lo que no verificaba antes el ValidaCFD es que estuviera bien codificado el certificado, internamente se generaba un error pero lo pasaba por alto, despues (aun con el certificado dañado) se intentaba extraer la vigencia que por supuesto no coincidia con NINGUNA fecha.
A partir de la version 0.1e el Valida ya "cacha" el error del certificado mal codificado, de hecho ya en la version mas nueva (0.1f) no solo detecta que este mal codificado, detecta incluso si por error se uso la FIEL
RESUMEN. "ANTES" el ValidaCFD no verificaba que el certificado estuviera bien codificado y por eso NUNCA marcaba ese error, a partir de la version 0.1e ya verifica ese dato y TODOS los reportes que han tenido a bien enviarme me confirma que EL VALIDACFD ESTA EN LO CORRECTO y para muestra he estado publicando exactamente el error en la codificacion, como en este post que incluso muestro como esta y como deberia ser.