Я пытаюсь подключить Java Web API через HTTPS; однако выбрано исключение:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Я выполнил следующие шаги, которые я узнал из онлайн-руководств keytool и SSL cert:
-
Я скопировал 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)