Para realizar estas pruebas necesitaremos un certificado cuyo NIF asociado esté dado de alta en la sede como representante de alguna de las empresas.

Vamos a utilizar cURL para realizar las pruebas con un certificado en formato PEM.

Si nuestro certificado no está en formato PEM necesitaremos convertirlo.

La conversión la hemos realizado utilizando OpenSSL

Conversión certificado

 

openssl pkcs12 -in ACA.p12 -out cert.pem -clcerts

 

Para realizar la conversión nos pedirá la clave del certificado y la clave que queremos utilizar en el certificado exportado.

Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

 

Una vez hemos obtenido el certificado en formato PEM podremos realizar las peticiones que necesitemos.

Petición

 

curl -E cert.pem https://apipre.cnmc.gob.es/test/v1/echoseguro/hello%20world

 

Nos solicitara la clave del certificado

Enter PEM pass phrase:

Y si todo ha ido bien podremos ver el resultado de nuestra petición

{"loginId":"11111111H","mensaje":"hello world"}

 

Si el servidor contra el que hacemos las peticiones no tiene un certificado valido cURL nos devolvera un error

curl: (60) SSL certificate problem: self signed certificate
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

Este mensaje de error podremos evitarlo utilizando la opción -k

 

Ejemplos

 

(info) Prueba subida ficheros.

Para subir un fichero utilizaremos la Api de Carga

Como en el ejemplo anterior utilizamos curl y un certificado pem. También necesitamos un fichero, en este caso utilizaremos un fichero xml del SGDA

La llamada en este caso será:

En la url hemos parametrizado los datos que necesita la carga express. Sustituya el nifPresentador, el nifEmpresa, el número de bytes del fichero a subir y el nombre del fichero. 

Si todo va bien obtendremos la respuesta de la api, en este caso un código http 200

 

HTTP/1.1 100 Continue
HTTP/1.1 200 OK

(info) Listar pendientes

Para consultar los ficheros pendientes de descarga asociados a un procedimiento <IDPROCEDIMIENTO> y a una empresa de NIF <NIFEMPRESA>, puede emplear la operación de la api listar_pendientes.

Como en el ejemplo anterior utilizamos curl y un certificado pem. 

La llamada sería:

 

(info) Consultar 

Ejemplo de la operación de la API consultar para consultar los ficheros  descargados o descargables de manera genérica, asociados a un procedimiento <IDPROCEDIMIENTO> y a una empresa de NIF <NIFEMPRESA>. 

Como en el ejemplo anterior utilizamos curl y un certificado pem. 

La llamada, para consultar los ficheros en cualquier estado,  sería:

curl -i -X POST  -E cert.pem -k -d "idProcedimiento=<IDPROCEDIMIENTO>&nifEmpresa=<NIFEMPRESA>&estado=" https://api.cnmc.gob.es/ficheros/v1/consultar

 

(info) Descargar

Ejemplo de descarga de un fichero por identificador uuid. 

Como en el ejemplo anterior utilizamos curl y un certificado pem. 

  • No labels