【问题标题】:Java Applet Using aws sdk Getting Access DeniedJava Applet 使用 aws sdk 被拒绝访问
【发布时间】:2012-12-30 22:11:54
【问题描述】:

我目前正在编写一个 Java 小程序(实际上是 JApplet),它使用 Java AWS SDK 从我的 S3 存储桶中下载一些文件。当我在 Eclipse 的 Applet Viewer 上运行 Applet 时,它运行良好,但是当我尝试在浏览器上运行它时遇到了问题。

我确实已经阅读了一些关于类似问题的 SO questions,但是在按照提供的答案进行操作后,我仍然没有找到解决此问题的方法。

起初我尝试导出一个包含所有依赖项的可运行 jar,至少用于测试。但是我在我测试过的每个浏览器(Firefox、Chrome 和 IE)中都收到了这个错误消息:

access denied ("java.util.propertyPermission" "com.amazonaws.sdk.disableCertChecking" "read")

经过一番搜索,我发现这可能是因为我的 jar 没有签名。所以我自己签名并再次尝试只是得到同样的错误。我什至决定使用单独的罐子,而不是将它们打包成一个罐子并全部签名,但无济于事。

AwsCredentials.properties 文件是最新的,并且与 jars 位于同一目录中,但我认为这不是导致问题的原因。

我用来嵌入小程序的 HTML 代码:

<applet code="path.to.class.Packer" 
        archive="signed-packer.jar" 
        width="400px" height="200px">       
</applet>

如果您想了解更多信息,请告诉我。 我很感激在这个问题上的任何帮助。谢谢。

【问题讨论】:

  • "..我对其进行了自签名并再次尝试,但仍出现相同的错误。"您是 prompted to accept 数字签名代码吗?
  • 是的,我是。我通过按“运行”来允许它。
  • 小程序是否被JS调用?代码是什么?我们可以参观吗(如果可以,在哪里)?
  • 不,页面中没有javascript。它不在任何地方,因为我需要先解决这个问题。 ://
  • “它不在任何地方,因为我需要先解决这个问题。” 有时,直到其他人看到它才能解决小程序问题。

标签: java amazon-web-services amazon-s3 japplet


【解决方案1】:

是的。不允许在浏览器沙箱中运行的小程序读取任意 Java 系统属性。这是一个安全限制。如果 Java 接受签名证书,对 applet JAR 文件进行签名应该就足够了。 (您是否已将自签名证书添加到 Java 安装的密钥库中?)

相关问题:Self-signed applet doesn't get a full permission

【讨论】:

  • 我不确定您将证书添加到密钥库是什么意思。我遵循了本教程here。当小程序加载时出现提示,让我允许它运行。
  • 你允许吗?
  • 我做到了。我在对话框上按了“运行”。另一个打开后询问我是否出于“安全原因”阻止某些组件,我选择了否。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
  • 2010-12-28
相关资源
最近更新 更多