java.io.FileNotFoundException:(不允许操作)在 mac osx (el Capitan) 上使用 ./keytool -import 时出错 - Java 6

2024-01-01

尝试将 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 密钥库位置。使用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) 全盘 access
  • 给 Java (/usr/bin/java) 文件和文件夹访问下载、文档和文件夹

Steps

  1. Open /usr/bin在 Finder 中,例如通过从终端调用:
jhartman@MBP ~ % open /usr/bin
  1. 本地化java (and keytool)

  2. Open 系统偏好设置 and 安全与隐私. Open 全磁盘访问选项卡并授权

  3. Drag java and keytool从步骤 1 中打开的 Finder 窗口中拖放到应用程序列表中全磁盘访问

  1. Go to 安全与隐私 -> 文件和文件夹,勾选下载文件夹和文档文件夹java and keytool

这是我的问题的解决方案,但我希望它也能解决keytool issue.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.io.FileNotFoundException:(不允许操作)在 mac osx (el Capitan) 上使用 ./keytool -import 时出错 - Java 6 的相关文章

随机推荐