1. Introdução

A API do GBDS provê autenticação SSL para a conexão entre cliente e servidor usando o protocolo TLS, habilitando uma nova camada de segurança. Este manual cobre os processos para habilitar a autenticação SSL na API do GBDS.

2. Certificados

A autenticação SSL usando TLS requer autenticação mútua, então o primeiro passo é a geração dos certificados do cliente e do servidor, os quais devem ter um formato válido. Os passos para permitir a autenticação dos dois lados são explicados abaixo.

2.1. Certificados do Servidor

Um arquivo Keystore e um arquivo Truststore devem ser criados no servidor e alocados em /etc/griaule/keystore. Os dois arquivos devem ter formato PKCS12 (.pfx ou .p12).

As cadeias públicas de certificação dos certificados do cliente e do servidor devem ser adicionadas ao Truststore para permitir a autenticação.

2.2. Certificados do Cliente

Um arquivo Keystore e um arquivo Truststore devem ser criados no cliente. Esses serão usados para a autenticação da aplicação.

A cadeia pública de certificação que pertence ao servidor deve ser adicionada à Truststore da aplicação cliente.

3. Configuração da API

Alguns parâmetros de configuração devem ser editados ou adicionados para permitir a autenticação SSL na API do GBDS. Quando todos os parâmetros estiverem corretamente incluídos, o serviço da API deve ser reiniciado para aplicar as mudanças no arquivo de configuração.

Warning

Ao habilitar a autenticação SSL na API do GBDS, será necessária autenticação TLS para qualquer comunicação com a porta da API, não havendo possibilidade de comunicação via HTTP.

O caminho do arquivo de configuração da API é /etc/griaule/conf/gbsapi/gbdsapi.properties e os parâmetros a serem modificados são os seguintes:

security.require-ssl

Esse parâmetro define se SSL é necessário para comunicação com a API. Seu valor deve ser definido como true para habilitar a autenticação SSL.

value: true

server.ssl.protocol

Esse parâmetro define o protocolo SSL a ser utilizado na autenticação. Seu valor deve ser definido como TLS.

value: TLS

server.ssl.client-auth

Esse parâmetro define se a autenticação do cliente é necessária para a comunicação com a API. Seu valor deve ser definido como need.

value: need

server.ssl.key-store

Esse parâmetro define o caminho para o arquivo Keystore que será utilizado no servidor.

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

server.ssl.key-store-password

Esse parâmetro define a senha a ser utilizada ao acessar o arquivo Keystore para validação do certificado.

value: keystore password

server.ssl.trust-store

Esse parâmetro define o caminho para o arquivo Truststore que será utilizado no servidor.

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

server.ssl.trust-store-password

Esse parâmetro define a senha a ser utilizada ao acessar o arquivo Truststore para validação do certificado.

value: <truststore password>