关键工具错误:java.io.FileNotFoundException:C:\cacerts(拒绝访问)

7

我使用的是Windows 10操作系统,安装了JRE8,并且正在使用以下命令:

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中以系统管理员身份运行keytool
  3. 将cacerts放置在不同的位置(甚至尝试了C:\cacerts)

我一直得到同样的错误:

证书已添加到密钥库keytool error: java.io.FileNotFoundException: C:\cacerts(访问被拒绝)

我还能做什么来将此证书导入我的cacerts文件中?

6个回答

20

尝试以管理员身份运行命令行,然后再进行操作。


4

使用以下命令:

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

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

这将解决问题。


1
尝试在另一个驱动器上放置:D:\tmp或C:\tmp(不要放在根目录)。

1
我最终换到另一台运行Windows 8和JRE7的计算机上,它可以工作!更新:Windows Defender阻止了对cacerts文件的访问。我禁用了这个障碍工具,现在一切都好了!

1
如果您在Linux上运行keytool命令并遇到类似问题,则请使用sudo运行此keytool。
sudo keytool -genkey -alias amq-server -keyalg RSA -keystore amq-server.ks

0

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

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


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