无法将证书导入cacerts

时间:2014-05-28 06:00:07

标签: java authentication keytool

我的要求是将maven存储库的证书导入全局密钥库。

证书文件名为maven-cacert.cer。

我正在使用来自C:\Program Files\Java\jdk1.6.0_20\bin\

cmd的以下命令
keytool -importcert -trustcacerts -alias c:\maven-cacert.cer -file c:\maven-cacert.cer.der -keystore $JAVA_HOME\jre\lib\security\cacerts

maven-cacert.cer文件位于C目录

按下输入后要求输入密码,输入密码后就像是

keytool error: java.io.FileNotFoundException: $JAVA_HOME\jre\lib\security\cacerts (The system cannot find the path specified

我也试过

   keytool -importcert -trustcacerts -alias c:\maven-cacert.cer -file c:\maven- cacert.cer.der -keystore \usr\java/jdk1.6.0_20/bin/java\jre\lib\security\cacerts

但获得相同的输出

cacerts文件位于$JAVA_HOME\jre\lib\security\目录中时,请帮助我的命令出错。

6 个答案:

答案 0 :(得分:21)

尝试使用"%JAVA_HOME%\jre\lib\security\cacerts"

答案 1 :(得分:6)

keytool -importcert -trustcacerts -alias mycert -file c:\ maven-cacert.cer.der -keystore"%JAVA_HOME%" \ jre \ lib \ security \ cacerts

你的别名也有问题。它是一个名字,而不是一个文件。 您需要引用"%JAVA_HOME%" ,因为它内部有空格。

答案 2 :(得分:2)

如果您使用的是OpenJDK,则cacerts的路径在

中不可用

"%JAVA_HOME%"/jre/lib/security/cacerts

它将在路径

中可用

"%JAVA_HOME%"/lib/security/cacerts

答案 3 :(得分:1)

你的操作系统是什么?如果你在Windows上,你可以尝试用%JAVA_HOME%替换$ JAVA_HOME,看看它是怎么回事?

谢谢, Anuj

答案 4 :(得分:1)

使用Bellow命令在cacerts中导入证书

  1. 以管理员身份运行命令提示符
  2. cd C:\ Program Files \ Java \ jdk1.6.0_45 \ jre \ bin
  3. keytool -import -trustcacerts -file“certpath \ certname.cer”-alias“cert_alias”-keystore“%JAVA_HOME%”/ jre / lib / security / cacerts
  4. 查看证书keytool -list -keystore“%JAVA_HOME%”/ jre / lib / security / cacerts -alias cert_alias

答案 5 :(得分:0)

出于某种原因,我认为JAVA_HOME没有为我定义。我只是使用了完整的路径。从Desktop文件夹运行,我的完整命令是:

"C:\Program Files\Java\jre1.8.0_77\bin\keytool" -import -alias fiddlercert -file fiddlerRoot.cer -keystore "C:\Program Files\Java\jre1.8.0_77\lib\security\cacerts" -storepass changeit