【问题标题】:keytool error: java.io.FileNotFoundException: C:\cacerts (Access is denied)keytool 错误:java.io.FileNotFoundException:C:\cacerts(访问被拒绝)
【发布时间】:2015-09-03 22:14:26
【问题描述】:
我在带有 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
这是我迄今为止尝试过的:
- 向我的用户授予对 cacerts 文件的完全访问权限(即使我是管理员)
- 在 cmd 中以系统管理员身份运行 keytool
- 将 cacerts 放在不同的位置(甚至尝试过 C:\cacerts)
我不断收到同样的错误:
证书已添加到密钥库 keytool 错误:
java.io.FileNotFoundException: C:\cacerts (访问被拒绝)
我还能做些什么来将此证书导入到我的 cacerts 文件中?
【问题讨论】:
标签:
keystore
filenotfoundexception
keytool
access-denied
apex-data-loader
【解决方案2】:
使用以下命令:
keytool -genkey -v -keystore test.keystore -alias testkeystore -keyalg RSA -keysize 2048 -validity 10000
问题是我没有给出需要创建为密钥库文件的文件名,即 {test.keystore}。
这将解决问题。
【解决方案3】:
尝试放入另一个驱动器:D:\tmp 或 C:\tmp(root 除外)。
【解决方案4】:
我最终切换到另一台运行带有 JRE7 的 Windows 8 的计算机,它工作正常!
更新:Windows Defender 阻止了对 cacerts 文件的访问。我禁用了砖墙工具,现在一切都很好!
【解决方案5】:
如果您在 linux 上运行 keytool 命令并遇到类似问题,请使用 sudo 运行此 keytool。
sudo keytool -genkey -alias amq-server -keyalg RSA -keystore amq-server.ks
【解决方案6】:
确保您在管理员模式下初始化证书。这可以通过右键单击命令提示符 > 以管理员身份运行(在 Windows 8 或更高版本的情况下)来完成。如果在win 7中,请转到程序>附件>命令提示符>右键单击>以管理员身份运行。
然后在 cmd 中使用以下命令(确保你是证书目录):
keytool -import -file staging.cer -keystore "%Certificate_destination %" -storepass changeit -alias "%Cerificate_name%"