这是我从 Apple Developer Technical Support 得到的答案:
感谢您在我们调查此问题时的耐心等待。
警报由 Java 提供,而不是 Gatekeeper。但是,您在 OS X Mountain Lion 上更改了验证逻辑是正确的。
一段时间以来,用户在运行已签名的小程序时会收到此警报,因为已签名的小程序可以逃离 Java 沙箱并对用户的系统进行意外更改。如果他们信任开发人员,用户可以选择选中“允许所有小程序来自”框,因此除非他们从 Java 安全首选项中删除该项目,否则他们将不会再次看到警报。
Mountain Lion 的变化在于,验证警报现在基本上意味着小程序的签名是有效的,但小程序来自身份不明的开发人员,并且在启用 Gatekeeper 时尝试提升权限,用户必须决定是否允许这样做。
“未识别的开发者”是指 Mac App Store 或开发者 ID 识别的开发者以外的来源。请注意,Java 小程序不能参与 Developer ID 计划。
如果 Gatekeeper 设置为仅信任 Mac App Store 应用程序,那么您将无法将小程序添加到受信任列表,除非您使用单击显示详细信息后出现的工作表将小程序的证书添加到钥匙串。
未签名的小程序根本不允许逃离 Java 沙箱。
这与 Gatekeeper 对待原生 Mac 应用的方式是一致的;默认情况下不允许运行来自身份不明的开发者的应用程序。
如果您希望更改警报的措辞,请在https://developer.apple.com/bugreporter提交错误报告。
这基本上意味着无法以可以避免显示此消息的方式对小程序进行签名。我向 Apple 提交了一份错误报告,说我希望将消息的措辞更改为不包含诸如 UNIDENTIFIED、UNVERIFIED、INSECURE 之类的词……因为这是签署小程序的全部意义,这样用户就可以感到温暖当他们需要允许小程序运行时,内部舒适,向他们保证他们将允许的内容是好的和经过验证的,并且不会对他们的计算机造成任何伤害,我们需要在它的地方展示它将是可见的,用它来戳他们的眼睛。