1. Introducción

La API GBDS proporciona autenticación SSL para la conexión de cliente y servidor utilizando el protocolo TLS, lo que permite una nueva capa de seguridad. Este manual cubre los procedimientos para habilitar la autenticación SSL en la API GBDS.

2. Certificados

La autenticación SSL utilizando TLS requiere autenticación mutua, por lo que el primer paso es la generación de certificados tanto de cliente como de servidor, que deben tener un formato válido. Los pasos para permitir la autenticación en ambos lados se explican a continuación.

2.1. Certificados del lado del servidor

Se debe crear un archivo Keystore y un archivo Truststore en el servidor y colocarlos en /etc/griaule/keystore. Ambos archivos deben estar en formato PKCS12 (.pfx o .p12).

La cadena de certificación pública de los certificados de cliente y servidor debe agregarse al archivo Truststore para permitir la autenticación.

2.2. Certificados del lado del cliente

Se debe crear un archivo Keystore y un archivo Truststore en el cliente. Estos se utilizarán para autenticar la aplicación.

La cadena de certificación pública que pertenece al servidor debe agregarse al Truststore de la aplicación del cliente.

3. Configuración de la API

Se deben editar o agregar algunos parámetros de configuración para permitir la autenticación SSL en la API GBDS. Una vez que todos los parámetros estén configurados correctamente, el servicio de API debe reiniciarse para aplicar los cambios en el archivo de configuración.

Warning

Habilitar la autenticación SSL en la API GBDS requerirá autenticación TLS para cualquier comunicación con el puerto de la API, sin posibilidad de comunicación HTTP.

La ruta del archivo de configuración de la API es /etc/griaule/conf/gbsapi/gbdsapi.properties y los parámetros que deben cambiarse son los siguientes:

security.require-ssl

Este parámetro define si se requiere SSL para la comunicación de la API. Su valor debe establecerse en true para habilitar la autenticación SSL.

valor: true

server.ssl.protocol

Este parámetro define el protocolo SSL que se utilizará para la autenticación. Su valor debe establecerse en TLS.

valor: TLS

server.ssl.client-auth

Este parámetro define si se requiere autenticación del cliente para la comunicación de la API. Su valor debe establecerse en need.

valor: need

server.ssl.key-store

Este parámetro define la ruta del archivo Keystore del servidor que se utilizará.

valor: /etc/griaule/keystore/<keystore>.pfx

server.ssl.key-store-password

Este parámetro define la contraseña que se utilizará para acceder al archivo Keystore para la validación del certificado.

valor: contraseña del keystore

server.ssl.trust-store

Este parámetro define la ruta del archivo Truststore del servidor que se utilizará.

valor: /etc/griaule/keystore/<trustore>.pfx

server.ssl.trust-store-password

Este parámetro define la contraseña que se utilizará para acceder al archivo Truststore para la validación del certificado.

valor: <contraseña del truststore>