HTTPS & Truststore de Ambientes Legado
Sumário
1. Conceito
Este manual apresenta os temas HTTPS & Truststore, com foco em sua aplicação em ambientes legados.
2. Configurações
2.1 Atualização de Certificado SSL
Acesso através do KeyStore Explore, na pasta de instalação do Connect On Premise, por exemplo, em SeniorConnect\config, abra o arquivo application.properties com o Bloco de Notas.
Nesse arquivo, estarão contidas as informações de localização do arquivo truststore, assim como as senhas.
A linha com a informação server.ssl.key-store indica o local do arquivo truststore. Faça uma cópia de segurança desse arquivo e abra-o com o programa Keystore Explorer.
Ao abrir o arquivo, o programa Keystore Explorer solicitará uma senha. A senha está disponível no arquivo mencionado acima, na linha server.ssl.key-store-password, ou seja, changeit.
Com o Certificado exportado em formato .CERT, basta clicar com botão sobre o Certificado Vencido no Keystore explorer e selecionar Import CA Reply, From File.
Caso o Certificado solicite uma senha, ela está disponível no arquivo application.properties, na linha server.ssl.key-password. Informe a senha e confirme. Em seguida, será aberta a tela para selecionar a opção todos os arquivos, selecione o arquivo *.CERT e clique em Import.
Ao abrir o arquivo truststore, o certificado estará vencido ou próximo de vencer, conforme imagem de exemplo abaixo.
Para atualizar o certificado, é necessário possuir o certificado em formato .CERT ou baixar diretamente do seu site. Acesse o site, clique no cadeado e, em seguida, exporte o certificado, conforme ilustrado na sequência de imagens exemplo abaixo
Após todas as etapas concluídas e com o Certificado SSL atualizado, basta reiniciar o CONNECT.
2.2 Configurando a Truststore na Aplicação
Será necessário realizar a configuração da aplicação para acessar o caminho e senha da Truststore através dos seguintes parâmetros (application.properties):
javax.net.ssl.trustStore=path/to/seniorconnect-truststore.jks
javax.net.ssl.trustStorePassword=changeit
javax.net.ssl.trustStoreType=JKS
Essas opções são configuradas no JAVA_OPTS de imagens Docker ou nas wrapper.java.additional.x do ./yajsw/conf/wrapper.conf em instalações que usam o Wrapper de Serviços do Windows (yajsw).
O valor path/to/ é o caminho relativo até o arquivo de Truststore. Em instalações de Wrapper o caminho padrão é yajsw/conf/seniorconnect-truststore.jks enquanto em imagens Docker o caminho é /config/seniorconnect-truststore.jks. Lembrando que ao configurar o wrapper.conf, deve-se adicionar um -D na frente do parâmetro, como, por exemplo
Após isso, basta reiniciar o serviço do integrador para que a nova Truststore seja carregada. Em uma instalação Windows isso pode ser feito pela tela de Serviços do sistema operacional, e em instalações Linux deve ser feito o restart do container ou do stack, conforme a configuração do ambiente.
2.3 Disponibilizando a Aplicação em HTTPS
Para que a aplicação seja disponibilizada em HTTPS, é necessário incluir na Truststore um certificado de domínio que contemple o Servidor que hospeda a aplicação. Esse certificado de domínio (Key Pair) é geralmente disponibilizado em PKCS#8 ou PKCS#12.
Após sua inclusão na Truststore, o Key Pair vai ter uma senha associada ao seu acesso e um alias (apelido) dentro da Truststore. Com essas informações podemos preencher as seguintes configurações de Aplicação (*application.properties*).
server.ssl.key-store=path/to/seniorconnect-truststore.jks
server.ssl.key-store-password=changeit
server.ssl.key-store-type=JKS
server.ssl.key-alias=ALIAS_KEYPAIR
server.ssl.key-password=SENHA_KEYPAIR
server.ssl.enabled=true
Note que os valores ALIAS_KEYPAIR e SENHA_KEYPAIR devem ser preenchidos conforme a importação realizada.
2.4 Manutenção TRAEFIK
Em alguns ambientes Linux, o TRAEFIK é utilizado para fazer o direcionamento das chamadas para os serviços do integrador e também para atribuir a certificação de domínio da aplicação. No caso de renovação de certificados do ambiente, seguir as seguintes intruções:
- Acesse /senior/manager/traefik/certs;
- Substitua os arquivos de certificado presentes nesse caminho com as novas versões;
- Acesse /senior/manager/traefik/;
Realize os comandos, para que seja possível reiniciar o serviço TRAEFIK.
- docker service rm manager_traefik
- docker stack deploy -c docker-stack.yml manager
As configurações do TRAEFIK (e seus apontamentos) estão nos arquivos /senior/manager/traefik/traefik.toml e /senior/manager/traefik/docker-stack.yml.
- Quando o TRAEFIK estiver envolvido, o procedimento para reiniciar a aplicação do integrador será através da seguinte maneira:
- Acesse /senior/services/sconnect/backend/;
Realize os comandos:
- docker service rm sconnect_plutao-app-backend
- docker stack deploy -c docker-stack.yml sconnect
Com isso, será possível reiniciar o serviço SCONNECT-Backend.
3. Referências
https://keystore-explorer.org/
4. Páginas Relacionadas
Gestão da Coleção de Certificados (Truststore)
Configuração de HTTPS em Instalações OnPremise

English
Español


