Keytool认为cacerts不存在

问题描述 投票:0回答:1

我正在使用OpenJDK 8(已从https://jdk.java.net/java-se-ri/8下载并解压缩,已添加到PATH),并且遇到证书错误。

经调查,我发现cacerts存在问题。

正在运行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\jdk8PATH确实具有条目%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)
java keytool
1个回答
0
投票

似乎问题是基于不正确的前提而定-keytool不会查看默认的信任库位置,而只是在当前目录中查找给定的文件。

我在安装Oracle JDK 8并重复上述步骤后才意识到这一点。我只是从未想过要从%JAVA_HOME%\jre\lib\security运行keytool;我一直从由于存储库连接错误而导致构建失败的项目的目录中继续运行它。我最初遇到的实际问题是OpenJDK cacerts文件为空;我用从另一个JRE 8安装中获得的cacerts替换了它,从没想到以后会重试构建。

© www.soinside.com 2019 - 2024. All rights reserved.