[Java] Adicionando um certificado SSL em seu JDK (Adding an SSL Certificate to JDK)

Com as novas atualizações do Java cada vez mais temos que desenvolver sistemas que utilizam certificados SSL, muitos são conhecidos pelo seu JDK porém outros não, com isso podemos nos deparar com erros do tipo:

Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?

Para resolvermos esse tipo de problema, aonde não é possível valídar a conexão com a API que estamos usando, ou o site que estamos conectando para extrair alguma informação, devemos importar para dentro de nosso JDK o certificado, também há maneiras de adicionarmos na própria aplicação, porém não vem ao caso nesse post.

Caso você não possua o certificado em mãos uma maneira fácil de extrair o .cert é usando seu próprio navegador, a seguir ilustrei em três passos como extraílo pelo Opera porém o conceito é o mesmo para praticamente todos os navegadores.

Extração de certificado SSL pelo Opera

Com o certificado extraído basta adicionarmos no nosso SDK com um simples comando executado pelo Terminal

keytool -import -noprompt -trustcacerts -alias {CERTIFICATE_NAME} \
        -file {CERTIFICATE_FILE_PATH} \
        -keystore $JAVA_HOME/jre/lib/security/cacerts \
        -storepass changeit

Notas:

1 – Substitua {CERTIFICATE_NAME} pelo nome de seu certificado e substitua {CERTIFICATE_FILE_PATH} pelo path do certificado extraído.

2 – Tenha certeza que vocề tem a váriavel de ambiente $JAVA_HOME configurada, ou substitua pelo path que o representa.

3 – Alguns JDK, não lembro se apartir do 9 ou 11 a pasta jre não existe, basta retirarmos e mantermos $JAVA_JOME/lib/security/cacerts

Para listarmos os certificados disponíveis em nosso JDK basta executarmos:

keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts

Dica: Podemos usar no final do comando um grep para verificarmos se o certificado foi realmente adicionado:

keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts | grep {CERTIFICATE_NAME}

Help DEV – Analista desenvolvedor Java / Android https://helpdev.com.br/zarelli

[Java] Adicionando um certificado SSL em seu JDK (Adding an SSL Certificate to JDK)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo