keytool错误:java.io.FileNotFoundException:C:\ cacerts(访问被拒绝)

时间:2015-09-03 22:14:27

标签: keystore filenotfoundexception keytool access-denied apex-data-loader

我在使用JRE8的Windows 10上,我使用的命令是:

C:\Program Files\Java\jre1.8.0_60\bin>keytool -keystore "C:\cacerts" -storepass changeit -importcert -file "C:\Users\MyUser\Desktop\sf.cer" -alias Symantec_Secure_Server_Class_3

这是我迄今为止所做的尝试:

  1. 给cacerts文件完全访问我的用户(尽管我是管理员)
  2. 以cmd
  3. 中的系统管理员身份登录keytool
  4. 将cacerts放在不同的位置(甚至尝试过C:\ cacerts)
  5. 我一直收到同样的错误:

      

    证书已添加到keystore keytool错误:   java.io.FileNotFoundException:C:\ cacerts(访问被拒绝)

    我还可以将此证书导入我的cacerts文件?

5 个答案:

答案 0 :(得分:12)

尝试以管理员身份运行命令行并再次执行

答案 1 :(得分:2)

使用以下命令:

keytool -genkey -v -keystore test.keystore -alias testkeystore -keyalg RSA -keysize 2048 -validity 10000

问题是我没有提供文件名,即{ test.keystore },该文件名需要创建为密钥库文件。

这将解决问题。

答案 2 :(得分:1)

尝试使用另一个驱动器:D:\ tmp或C:\ tmp(除root之外)。

答案 3 :(得分:1)

我最终切换到另一台运行Windows 8并使用JRE7的计算机,它运行良好!

更新:Windows Defender阻止访问cacerts文件。我禁用了砖墙工具,现在一切都很好!

答案 4 :(得分:0)

确保以管理员模式初始化证书。可以通过右键单击命令提示符>以管理员身份运行(对于Windows 8或更高版本)来完成。如果是win 7,请转到“程序”>“附件”>“命令提示符”>“右键”>“以管理员身份运行”。

然后在cmd中使用以下命令(确保u是证书目录): keytool -import -file staging.cer -keystore“ %Certificate_destination%” -storepass changeit -alias“ %Cerificate_name%