Intercambio de mensajes con la AEAT Agencia Tributaria

Intercambio de mensajes con la AEAT Agencia Tributaria

Postby Verhoven » Wed Mar 20, 2019 2:02 pm

Buenas tardes,
estamos adaptando el sistema informatico utilizando al entorno de pruebas de la AEAT para poder hacer intercambio de mensajes xml .
Intentamos utilizar CURL.EXE que lo trae el propio Windows 10.
Como CURL.EXE parece ser que no maneja los certificados pfx.p12 emitidos por la FNMT (Fabrica Nacional de Moneda y Timbre) los pasamos a dos ficheros pem, uno con el certificado y otro con la clave privada con openssl.exe:

Desde el símbolo de sistema:
Code: Select all  Expand view

C:\openssl-1.1.1-win64-mingw\openssl pkcs12 -in ./CertificadoFNMT.pfx.p12 -out ./CertificadoFNMT.pem -clcerts -nokeys
C:\openssl-1.1.1-win64-mingw\openssl pkcs12 -in CertificadoFNMT.pfx.p12 -out CertificadoFNMT_key.pem -nocerts -nodes
 


Con eso se generan los ficheros en formato PEM para utilizar con curl.exe; uno es CertificadoFNMT.pem (el certificado) y el otro CertificadoFNMT_key.pem (la clave).

Después para por ejemplo tratar de comprobar un CIF/NIF utilizamos la llamada a CURL.EXE siguiente:

Code: Select all  Expand view
curl.exe --connect-timeout 60 -m 60 -S -L -d "@EnvioNif.xml" -o RespuestaNif.xml --cert ./CertificadoFNMT.pem --key ./CertificadoFNMT_key.pem https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP --trace ./RespuestaTrace.txt --pass CALVEEXPORTACIONCERTIFICADO


Siendo el xml para la consulta del NIF: EnvioNif.xml
Code: Select all  Expand view
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vnif="http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd">
<soapenv:Header/>
    <soapenv:Body>
    <vnif:VNifV2Ent>
       <vnif:Contribuyente>
        <vnif:Nif>99999999R</vnif:Nif>
        <vnif:Nombre>JUAN MANUEL ESPAÑOL</vnif:Nombre>
       </vnif:Contribuyente>
    </vnif:VNifV2Ent>
    </soapenv:Body>
</soapenv:Envelope>


Y la respuesta de la AEAT es como que el certificado de la FNMT tuviera algún fallo. Pero hemos comprobado que el certificado es correcto, eso si, en el formato pfx.p12 original antes de pasarlo por el openssl para generar los archivos .pem

Fallo devuelto por la AEAT:
Error 401 No autorizado. Se ha producido un error al verificar el certificado presentado. Las causas más probables de este error son:
El certificado no ha sido firmado por una autoridad reconocida.
El tipo de certificado no es válido para el servicio al que se quiere acceder.
El certificado ha expirado.


Pero ninguno de los tres casos son la causa del posible error.

Les ruego me ayuden porque ya no se qué más pruebas hacer para poderlo echar a andar.

De antemano gracias.

Cordiales Saludos.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Intercambio de mensajes con la AEAT Agencia Tributaria

Postby hmpaquito » Wed Mar 20, 2019 2:35 pm

Añade -k a la línea de comandos.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Intercambio de mensajes con la AEAT Agencia Tributaria

Postby Verhoven » Wed Mar 20, 2019 2:56 pm

Añado -k pero la AEAT sigue devolviendo el mismo error:

Se ha producido un error:

401

No autorizado. Se ha producido un error al verificar el certificado presentado. Las causas más probables de este error son:
- El certificado no ha sido firmado por una autoridad reconocida.
- El tipo de certificado no es válido para el servicio al que se quiere acceder.
- El certificado ha expirado.


Esta es la nueva instrucción con CURL.EXE:
Code: Select all  Expand view
curl.exe --connect-timeout 60 -m 60 -S -L -k -d "@EnvioNif.xml" -o RespuestaNif.html --cert ./CertificadoFNMT.pem:"CLAVEDELCERTIF" --key ./CertificadoFNMT_key.pem https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP --trace ./RespuestaTrace.txt
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Intercambio de mensajes con la AEAT Agencia Tributaria

Postby hmpaquito » Wed Mar 20, 2019 3:00 pm

¿ Tienes un certificado puesto en el navegador ?
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Intercambio de mensajes con la AEAT Agencia Tributaria

Postby Verhoven » Wed Mar 20, 2019 3:15 pm

Si. Tengo varios.
Pero no entiendo que tienen que ver los certificados instalados en el navegador con CURL.EXE que en la línea de comandos lleva la referencia la archivo con el certificado a utilizar.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm


Re: Intercambio de mensajes con la AEAT Agencia Tributaria

Postby Verhoven » Wed Mar 20, 2019 4:17 pm

Muchas gracias por las indicaciones.

Instalando el certificado en el Sisitema operativo ya ha funcionado.

Estaba instalado en el navegador, tengo mozilla, pero por lo visto hay que instalarlo en el sistema operativo también.

Lo que no entiendo es para qué entonces el referir el fichero con el certificado en formato pem en la línea de comandos del CURL.EXE.

Por cierto, ahora antes de procesar la orden, y a pesar de poner la clave del certificado en la línea de comandos, salta una pantalla en windows que dice:

"Seguridad de Windows"
Credenciales requeridas
¿Desea permitir que la aplicación acceda a su clave privada?


Se pulsa permitir y ejecuta la línea de comandos y la consulta a la AEAT correctamente.

Pero digo yo, si en la línea de comandos le he pasado la clave privada ¿para qué c... vuelve a pedir autorización?.

En fin, voy a ver cual es la manera de eliminar esta pregunta de seguridad de windows para poder automatizar el proceso del todo.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 53 guests