Я пытаюсь подключить Java Web API через HTTPS; однако выдается исключение:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Я выполнил следующие шаги, которые я узнал из онлайн-учебников по keytool и сертификатам SSL:
Я скопировал URL-адрес HTTPS в браузер, загрузил сертификаты SSL и установил их в браузере с помощью Internet Explorer.
Экспортировал сертификаты по пути на моем компьютере, сертификаты были сохранены как.cer
Использовался параметр импорта keytool. Приведенная ниже команда выполнена без ошибок.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
Мне было предложено ввести пароль в командной строке,который я ввел, тогда я был аутентифицирован.
В окне cmd
были напечатаны некоторые данные и подписи сертификата, и мне был задан вопрос:
Доверять этому сертификату?
Я ответил да.
Отображается приглашение cmd
Сертификат был добавлен в хранилище ключей
Однако после этого сообщения отображалось другое исключение:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Наконец, когда я проверил хранилище ключей, сертификат SSL не был добавлен, и мое приложение выдает такое же исключение У меня получалось раньше при попытке подключения:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)