Não foi possível encontrar certificado confiável
-
05-07-2019 - |
Pergunta
Problema:
Estou recebendo um erro lançada a partir de javax.net.ssl.SSLHandshakeException (ver imagem em anexo)
É possível que Java para ter um cert CA corrompido ou faltando? Se assim como eu posso reparar ou resolver este problema / erro?
Coisas que eu tentei:
- Eu removi todas as versões do JRE a partir do PC e instalado a última versão do JRE (1.6.14).
- Limpo e removidos todos os desnecessários Trusted Cert de da seção de usuário de Certificados.
- Tente executar keytool para obter as impressões digitais da CA
Ao tentar executar a keytool Estou recebendo o seguinte:
Erro keytool: java.security.cert.CertificateParsingException: java.io.IOException: chave de assunto, java.security.spec.InvalidKeySpecException:. Especificação chave desconhecida
Solução
É teoricamente possível, mas IMO altamente improvável, que o Java tem uma cert CA corrupto. É mais provável que o CA cert desejado não estiver na loja cacerts do JRE. Você pode verificar o conteúdo da loja (no Linux, pelo menos) usando 'keytool'; por exemplo.
keytool -list -keystore /usr/java/jdk1.6.0_14/jre/lib/security/cacerts
Verificar através dessa lista para ver se você pode ver a impressão digital para o CAcert que seu URL requer.
Referência: as ferramentas JDK 6.0 JDK Desenvolvimento / Ferramentas de segurança página / seção.