首页 > 解决方案 > Windows 上的 Java 无法列出 cacerts

问题描述

我正在尝试使用 keytool - list 在 Java 8 中列出 Windows 10 上的所有证书。

C:\Program Files\Java\jre1.8.0_291\bin>keytool -list $JAVA_HOME\lib\security\cacerts
Illegal option:  $JAVA_HOME\lib\security\cacerts
keytool -list [OPTION]...

我还注意到:

C:\Program Files\Java\jre1.8.0_291\bin>echo %JAVA_HOME% %JAVA_HOME%

简单地将我输入的内容回显给我。

我也试过:

C:\Program Files\Java\jre1.8.0_291\bin>keytool -list %JAVA_HOME%\lib\security\cacerts
Illegal option:  %JAVA_HOME%\lib\security\cacerts
keytool -list [OPTION]...

Java home 设置为 JDK(不是 JRE)

在此处输入图像描述

我该如何解决这个问题,以便我可以列出密钥?

标签: java

解决方案


为什么这么复杂?

如果您的PATH变量配置正确,您只需将:keytool -list -cacerts写入您当前的 cmd。

如果要打开特定路径,则需要传递-keystore选项并可能引用路径 - 另请注意,cacerts文件可能位于jre/lib文件夹中,而不是lib.

keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts"

推荐阅读