OS X上的Java Web Start应用程序的身份不明的开发人员

时间:2013-11-04 12:05:53

标签: java macos java-web-start jnlp osx-gatekeeper

在Mac OS X上,10.9签名的Java Web Start应用程序默认被阻止,并显示以下消息:

"application.jnlp" can't be opened because it is from an unidentified developer.

我知道可以削弱安全检查以允许任何应用程序运行,但这需要最终用户的手动干预。

是否可以“签署”Java Web Start应用程序,使其被识别为来自已识别的开发人员?

谢谢

5 个答案:

答案 0 :(得分:9)

在最新的OSX版本中,Apple已将其安全模式更改为仅支持Mac App Store中的应用程序并确定开发人员。在大多数情况下,这会禁止启动jnlp / java-web-start应用程序。

如果这是受信任的应用程序,您可以通过更新系统设置来覆盖这些设置,如下所示:

系统偏好设置 - >安全与安全隐私 - > (解锁窗口) - >允许从以下位置下载应用:(选择任意位置)

Settings Screen Shot

在某些情况下,您可能还需要更新Java安全性偏好

系统偏好设置 - > Java - >安全 - > (选择中)

Settings Screen Shot

调整这些时要小心。这些设置将为您提供流行的攻击媒介,攻击者可以利用这些攻击媒介利用Java运行时(Java 0天)内的漏洞。

答案 1 :(得分:5)

这是一篇相关文章。似乎无法绕过安全性,全部允许,解决方法。

OS X 10.8 Gatekeeper and Java applets

来自上面帖子中的Apple Tech Support。

  

身份不明的开发者“是指Mac App Store以外的其他来源   或开发者ID识别的开发人员。请注意,Java小程序不能   参加开发者ID计划。

我正在考虑构建一个本机应用程序并使用自定义Web协议,而不是类似于skype,您可以在URI中看到skype://。看起来Apple似乎不会在不久的将来改变他们对Java applet的立场。它很可能会变得更受限制,并最终像iOS上的Flash一样被禁用。

答案 2 :(得分:4)

Apple似乎确实支持webstart的签名 - 但不是直接签名。您必须将其捆绑在存档中。请参阅this页面底部的注释:

  

您可以使用codesign实用程序对JNLP文件进行签名,该文件将代码签名作为扩展属性附加到JNLP文件。要保留这些属性,请将JNLP文件打包为ZIP,XIP或DMG文件。请小心使用ZIP格式,因为某些第三方工具可能无法正确捕获所需的扩展属性。

另请注意,非Apple开发人员anymore不支持XIP:

  

重要提示:从macOS Sierra开始,只会扩展Apple签署的XIP档案。使用XIP存档的开发人员需要使用已签名的安装程序包或磁盘映像。

答案 3 :(得分:2)

How to sign (dynamic) JNLP files for OSX and Gatekeeper的答案解决了这个问题,只是忽略了“动态”这个问题。方面。

您可以codesign -f -s "Developer ID Application: " application.jnlp但HFS资源不会通过网络传输文件。

在Oracle制定解决方案之前,如果他们这样做,解决JNLP / Web Start问题,我们必须找到解决方案,让我们开始创建Mac应用程序包。

答案 4 :(得分:1)

在OS X 10.10中似乎已经改变了。现在转到系统偏好设置 - >安全与安全隐私 - > (解锁窗口) - >允许从以下位置下载的应用程序:(选择任意位置)(尝试运行.jnlp文件后),您将看到一个选项,然后运行#34;。