警告:使用-cacerts选项访问cacerts密钥库。

36

我正在向Java密钥库添加证书,但出现以下警告。命令执行成功。

keytool -import -trustcacerts -keystore /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts -storepass changeit -noprompt -alias my_root_ca.pem -file /usr/share/ca-certificates/foo/my_root_ca.pem

警告为:

Warning: use -cacerts option to access cacerts keystore

我该如何消除这个警告?

谢谢。

1个回答

48

这很容易。如果您查看keytool手册,您会看到以下内容:

$ keytool -importcert -help
keytool -importcert [OPTION]...

Imports a certificate or a certificate chain

Options:

 ... removed for clearity
 -cacerts                access the cacerts keystore
为了消除该警告,您必须使用-cacerts选项而不是调用cacert密钥库。
keytool -import -trustcacerts -cacerts -storepass changeit -noprompt -alias my_root_ca.pem -file /usr/share/ca-certificates/foo/my_root_ca.pem

这是正确的答案,随意接受它。 - Ghiro
2
在Java 11中,当使用“-cacerts”时,无法使用“-keystore”和“-storetype”。 - Paulo Mateus
7
如 @PauloMateus 所说,我正在使用Java 11并需要删除“-keystore”参数以使用“-cacerts” --> $JAVA_HOME/bin/keytool -list -v -cacerts -storepass changeit - u8it
6
注:Java 9引入了-cacerts选项用于-importcert命令。 - George Pantazes
2
我不确定访问的是哪个“cacerts”存储(管理具有多个Java JDK版本的构建服务器:8、9、11、17)。 它是来自系统%JAVA_HOME%的cacerts吗?还是当前文件夹中的cacerts?或者是与当前keytool版本相同的java-dir中的cacerts?即使是官方文档,也没有提供有关“THE” cacerts的帮助。 因此,尽管有警告,我仍然继续使用“-keystore”选项以确保安全。 - Jules Kerssemakers
1
文档中提到:<br/>cacerts证书文件 一个名为cacerts的证书文件位于安全属性目录中:Oracle Solaris,Linux和OS X:JAVA_HOME /lib/securityWindows:java.home\lib\securityjava.home是运行时环境目录,它是JDK中的jre目录或Java Runtime Environment(JRE)的顶级目录。 - Sweder Schellens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接