我的公司为服务器生产 Java 应用程序并提供 JNLP 文件以启动本地应用程序。从 OSX 10.8.4 开始,需要使用开发人员 ID 对 JNLP 文件进行签名以使 Gatekeeper 满意(实际上在最底部的发行说明中)。
问题是:如何做到这一点?AFAIK 您可以签署应用程序(我们有一些使用开发人员 ID 签署的 Java 应用程序) - 但 JNLP - 文件就是这样:文件。
下一步:如何使用生成的 JNLP 文件执行此操作。我们必须修改它们,因为它们来自服务器 - 例如属性、基本 URL 等等。
AFAIK Java 有一种机制可以说 JNLP 文件是通过它们各自的 JAR 文件(包含主类的文件)签名的 - 但是:Jar 文件是用不同的证书签名的,它们也不会满足 Gatekeeper 的要求。
我确实找到了一个关于如何签署工具和东西的参考,但它不适用于动态文件的场景。
我不想要的答案:右键单击并打开以覆盖 Gatekeeper 或更改系统或 Java 设置。这不是一个选择。
[更新] 从 OSX 10.9.5 开始,您还必须使用 OSX 10.9+ 进行签名并拥有有效的版本 2 签名。这将如何完成?