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

Emm*_*urg 14 java macos jnlp java-web-start osx-gatekeeper

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

"application.jnlp" can't be opened because it is from an unidentified developer.
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

Der*_*ife 9

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

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

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

设置屏幕截图

在某些情况下,您可能还需要更新Java安全性首选项

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

设置屏幕截图

调整这些时要小心.这些设置将打开流行的攻击媒介,攻击者可以利用Java运行时中的漏洞(Java 0天).


小智 5

这是一篇相关的帖子.似乎无法绕过安全性,全部允许,解决方法.

OS X 10.8 Gatekeeper和Java小程序

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

身份不明的开发人员"是指除Mac App Store或开发者ID识别的开发人员之外的其他来源.请注意,Java applet无法参与Developer ID计划.

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


amo*_*mos 4

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

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

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

重要提示:从 macOS Sierra 开始,只有 Apple 签名的 XIP 存档才会扩展。一直使用 XIP 存档的开发人员将需要转而使用签名的安装程序包或磁盘映像。