我正在尝试使用JetS3在一个应用程序中访问Amazon S3,该应用程序也使用Jersey和Grizzly(不确定这是否相关)。我的开发环境是使用JRE版本1.7.0u.jdk的OSX 10.7.3上的Eclipse。
我已经读到它无法找到“密钥库”,无论是什么 - 但它不需要使用任何本地密钥,我已经以编程方式为它提供了S3的身份验证信息
我不知道这是我的代码的问题,还是我的开发环境,有人可以帮忙吗?
编辑:我在命令行中添加了以下内容:
- Djavax.net.ssl.keyStore=/Library/Java/JavaVirtualMachines/1.7.0u.jdk/Contents/Home/jre/lib/security/cacerts
此文件存在,但我仍然看到同样的错误: - (
答案 0 :(得分:0)
Java的文件树和Apple的包装系统再次罢工!
我刚刚解决了与此类似的问题(我认为这是一次拙劣的beta版升级的遗产)。同样的错误,至少。我在磁盘上发现的情况是我的JDK安装中有符号链接而不是实际文件(包括cacerts):
> ls -lt /Library/Java/JavaVirtualMachines/1.6.0_30-b12-404.jdk/Contents/Home/lib/security/
total 24
lrwxr-xr-x 1 root admin 79 Apr 7 15:11 blacklist -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/blacklist
lrwxr-xr-x 1 root admin 81 Apr 7 15:11 cacerts -> /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts
lrwxr-xr-x 1 root admin 87 Apr 7 15:11 trusted.libraries -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/trusted.libraries
不幸的是,链接的Deploy.bundles不存在。
在我的情况下,我能够回顾Time Machine,找到已删除的包并恢复它们。
您可能已经安装了一些可以链接到的旧版本。至少你应该能够看看你是否有类似的潜在问题。
对不起,这不是一个完整的解决方案,但我希望它会让你走得更远。
您可以随时从Oracle获取分发,并弹出证书文件,但如果您的安装缺少其他项目,则可能存在其他问题。
在谷歌上我找到了这个博客: http://architecturalatrocities.com/post/19073788679/fixing-the-trustanchors-problem-when-running-openjdk-7
问题是openjdk不包含文件,他建议链接到我必须恢复的Bundle文件。