Keytool считает, что cacerts не существует - PullRequest
0 голосов
/ 22 октября 2019

Я использую OpenJDK 8 (скачанный и разархивированный из https://jdk.java.net/java-se-ri/8,, добавленного в PATH), и я сталкиваюсь с ошибками сертификата.

После расследования я понял, что проблема с каскадами.

Запуск keytool -list -keystore cacerts возвращает ошибку: keytool error: java.lang.Exception: Keystore file does not exist: cacerts,

, но запуск keytool -list -keystore "C:\development\exec\cmd\jdk8\jre\lib\security\cacerts"

возвращает мне список действительных сертификатов. JAVA_HOME указывает на

C:\development\exec\cmd\jdk8, а PATH имеет запись %JAVA_HOME%\bin. Как мне настроить java для поиска в нужном месте cacerts?

java -version возвращает следующее:

openjdk version "1.8.0_40"
OpenJDK Runtime Environment (build 1.8.0_40-b25)
OpenJDK Client VM (build 25.40-b25, mixed mode)

1 Ответ

1 голос
/ 22 октября 2019

Похоже, что вопрос был основан на неверной предпосылке - не существует такой вещи, как местоположение хранилища доверенных сертификатов по умолчанию, которое просматривал бы keytool, и он просто ищет данный файл в текущем каталоге.

Я понял это после установки Oracle JDK 8 и повторения ранее описанных шагов. Я просто никогда не думал запускать keytool из %JAVA_HOME%\jre\lib\security;Я продолжал запускать его из каталога проекта, сборка которого не удалась из-за ошибок соединения с репозиторием. Реальная проблема, с которой я столкнулся, заключалась в том, что файл OpenJDK cacerts был пуст;Я заменил его на cacerts, взятые из другой установки JRE 8, и никогда не думал, что попытаться повторить сборку после этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...