【问题标题】:Java Web Start Security warning JNLP. Bug in JWS? 7u51Java Web Start 安全警告 JNLP。 JWS 中的错误? 7u51
【发布时间】:2014-03-19 21:13:23
【问题描述】:

我们正在使用 java web start 来启动一个 GUI java 程序。我们签署所有罐子,包括第三方罐子。我们还将 Permissions: all-permissions 属性添加到我们所有 jar 的清单中,但没有添加到第三方 jar 中。

在 java 7u51 中,我们仍然会收到“此应用程序将被阻止”的警告。

我尝试在使用 -verbose 启动 web 后查看 java 控制台日志,但没有看到任何帮助我解决此问题的内容。

【问题讨论】:

  • 我删除了我的答案,但我想解决您的最后一条评论:“我们正在正确签署 jars。证书尚未过期。这个错误出现在 7u45 中。我们添加了权限:所有-permissions 属性到我们所有的清单,这使得对话框不出现(这是 oracles 建议的“修复”)。然后使用 7u51,我们再次得到对话框“好吧,对话框说你的 .jar 文件不包含Permissions属性。因此,我会重新检查以确保您的主 .jar 和库 .jar 包含该属性并且它与您的 .jnlp 文件匹配。
  • 问题是:“我们还在所有 jar 的清单中添加了 Permissions: all-permissions 属性,但没有添加到第三方 jar 中。”您还需要将该属性添加到您的第三方库中。当你说“我们所有的 .jars”时,你把我吓跑了。但是,可以,将属性添加到您的第三方 .jars。
  • 据我所知,不应该将此属性添加到除主 jar 之外的任何 jar 中。我找不到任何明确的答案,因为文档太糟糕了。不得不修改第三方 jar 是不合理的。实际上,我们尝试这样做只是为了排除这种情况,并将属性添加到我们提供的每个 JAR 中。仍然有这个对话框。此外,有些罐子你根本不能修改清单。即 Bouncy Castle 罐子,因为它们要求它们保持由原始签名者签名。这让我相信这是一个错误:bugs.openjdk.java.net/browse/JDK-8027821
  • 我很困惑。一方面,您说您将属性添加到每个 jar,但另一方面您说某些 .jar 不能修改?你说的不能是指法律上的不能吗?如果这就是你所说的,我完全同意。如果您在此处阅读我对类似 SO 问题的回答:stackoverflow.com/questions/20759765/…,您会发现我完全支持您。 Oracle 要求开发人员修改第 3 方库,从而使他们处于危险境地。当然,如果您使用 IDE 来构建您的应用程序,那么无论如何您都在修改它们。
  • 我站在你这边。我认为他们要求您更改库 .jar 是荒谬的,但是(我不会与您争论)这是摆脱此安全警告的唯一方法。

标签: java security java-web-start jnlp


【解决方案1】:

这似乎已通过 7u55 更新修复。

7u55 Bug fixes:

JDK-8031579 deploy webstart Spurious Missing Manifest Permissions Attribute Warning When Launching Versioned Java Web Start app

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多