Estou tentando conectar uma API da Web Java via HTTPS; no entanto, uma exceção é lançada:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Segui estas etapas que aprendi com os tutoriais on-line de ferramentas-chave e certificados SSL:
Copiei a URL HTTPS no navegador, baixei os certificados SSL e os instalei no navegador usando o Internet Explorer.
Exportados os certificados para um caminho no meu computador, os certificados foram salvos como
.cer
Usou a opção de importação do keytool. O comando abaixo é executado sem erros.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
Foi solicitada uma senha no prompt de comando, que eu inseri e fui autenticada.
A
cmd
janela imprimiu alguns dados e assinaturas de certificado e uma pergunta foi solicitada:Confiar neste certificado?
Eu respondi que sim.
O prompt do cmd exibido
O certificado foi adicionado ao keystore
No entanto, após essa mensagem, outra exceção foi exibida:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Finalmente, quando verifiquei o keystore, o certificado SSL não foi adicionado e meu aplicativo apresenta a mesma exceção que eu estava recebendo antes ao tentar conectar:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
keytool
comando exato que você executou e sua saída? algumas das questões óbvias aqui são o erro de digitação de-keystore
argumento, eo fato de que keytool foi incapaz de encontrar o armazenamento de chaves para importar a chave na