Ronda Senior X – SAM Readers – PKIX path building failed
Incidente
No módulo SAM Readers, ao consultar um colaborador, nenhum registro é retornado, impossibilitando o cadastro da biometria, nos logs da SAM Readers é apresentado a seguinte mensagem:
ERROR - Erro na pesquisa de pessoa. io.swagger.client.ApiException: javax.net.ssl.SSLHandshakeException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
Causa
Este incidente ocorre, pois o certificado SSL dentro do ambiente está cadastrado.
Solução
Importante:
Os procedimentos descritos nesse artigo devem ser executados por um profissional que tenha conhecimento em certificado digital e Java, bem como tenha domínio do ambiente/servidor onde as aplicações estão instaladas.
Para executar o processo, o Aplicativo Portecle será utilizado (aplicativo é em inglês). É de responsabilidade do responsável pelo ambiente/servidor garantir a correta execução desse aplicativo no ambiente (pode ser necessária a instalação do JavaWebStart e ainda a adição do endereço de acesso ao aplicativo na Lista de Exceções de Sites do Java.
Para que a mensagem não seja apresentada nas requisições HTTP, realize os passos a seguir:
1. Acesse o endereço que você deseja fazer a chamada via HTTP através de um navegador da Web e acesse o certificado digital do endereço, por exemplo para o SAM Readers é necessário que seja a platform.senior.com.br;

1.1 Clique em 'O certificado é válido';
1.2 Clique em 'Exportar';
1.3 Salve em um Diretório;
2. Clique no certificado digital, e acesse a opção Copiar para Arquivo da guia Detalhes:

3. Selecione a opção X.509 binário codificado por DER (*.cer) no momento de salvar o arquivo do certificado:

4. Abra o aplicativo Portecle (ele está disponível em http://portecle.sourceforge.net/webstart/portecle.jnlp);
4.1 Clique em 'Open Keystor File...';
4.2 Acesse o caminho do Java, por exemplo: Java / jre / lib / security / e selecione o arquivo cacerts;

5. Abra o arquivo cacerts que fica armazenado no diretório de instalação do Java. A senha padrão para abrir o arquivo é changeit;
Importante: O diretório padrão do arquivo é no diretório do Java nativo da instalação, exemplo:
C:\Senior\java\jre\lib\security, para versões embarcadas com Java 8.
C:\Senior\Temurin-17.0.9+9\lib\security, para versões embarcadas com Java 17.
E estes diretórios ainda podem ser alterados através da chave com.senior.jvm.cacertsfile
6. Acesse a opção Import Trusted Certificate do menu Tools:

7. Selecione o certificado .CER salvo durante a execução do passo 2;
8. Confirme a instalação do certificado digital selecionado (várias mensagens de confirmação pode ser exibidas). Será solicitado o apelido (alias) para o certificado. Sugerimos deixar o apelido sugerido pelo Portecle;
9. Ao final do processo de importação a mensagem abaixo será exibida e o certificado digital deverá aparecer na listagem de certificados:

10. Acesse a opção Save Keystore do menu File para salvar o arquivo cacerts:

11. Reinicialize o SAM Readers que precisa efetuar a chamada HTTP.