尝试将 CA 证书导入我的 Java 6 信任库并遇到此错误:
./keytool -v -import -trustcacerts -alias Rapidssl -file /Users/spurr/Desktop/rapidssl.cer -keystore /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts
Enter keystore password:
Certificate was added to keystore
[Storing /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts]
keytool error: java.io.FileNotFoundException: /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts (Operation not permitted)
java.io.FileNotFoundException: /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts (Operation not permitted)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:84)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:902)
at sun.security.tools.KeyTool.run(KeyTool.java:172)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
我也以 root 身份运行该命令,因此我认为我可以访问该 cacerts keystore 位置。使用 Java 6。
最佳答案
我在 MacOS Big Sur 上启动 jnlp 文件时遇到了类似的问题:
CouldNotLoadArgumentException[ Could not load file/URL specified: /Users/jhartman/Documents/Favorities/NCC/NCC 123.jnlp]
....
Caused by: java.io.FileNotFoundException: /Users/jhartman/Documents/Favorities/NCC/NCC 123.jnlp (Operation not permitted)
解决方案是:
- 授予 Java (
/usr/bin/java
) 完整磁盘访问权限 - 授予 Java (
/usr/bin/java
) 文件和文件夹访问下载、文档和文件夹的权限
步骤
- 打开
/usr/bin
在 Finder 中,例如通过从终端调用:
jhartman@MBP ~ % open /usr/bin
本地化
java
(和keytool
)打开系统偏好设置和安全与隐私。打开Full Disk Access标签并授权
拖动
中的 App 列表java
和keytool
从在第 1 步打开的 Finder 窗口中拖放到 Full Disk Access
- 转到安全和隐私 -> 文件和文件夹,勾选
java
的下载文件夹和文档文件夹|和keytool
这是我的问题的解决方案,但我希望它也能解决 keytool
问题。
关于java.io.FileNotFoundException : (Operation not permitted) error with ./keytool - 在 mac osx (el capitan) 上导入 - Java 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747473/