使用OS X 10.8的新版本,当您尝试启动签名的Java applet时,网守将弹出以下警告:

applet已用有效的代码签名证书签名,并将在其他平台上正常工作以及以前版本的操作系统X.如果我更改“允许从以下命令下载的应用程序”到“Anywhere”,则它正常运行。 据我所知,“无法验证数字签名”,实际上意味着“签名尚未用Mac开发人员ID制作”。

所以:我可以用Mac Developer ID签名Java小程序吗?我可以用Mac开发人员ID和标准代码签名证书签名吗?有更好的方法吗?

有帮助吗?

解决方案

这是我从Apple Developer技术支持中获得的答案:

谢谢您在调查此时的耐心。

警报由Java呈现,而不是由网守。但是,你是 纠正验证逻辑在OS X山狮子上更改。

现在,用户已介绍此警报 运行签名的applet,因为签名的applet可以逃脱java 沙箱并对用户的系统进行意外更改。用户有 如果检查“允许所有applet”框中的选项 他们相信开发人员,因此他们不会再看到警报 除非他们从Java安全偏好中删除该项目。

在山狮中改变的是验证警报现在 基本上意味着applet的签名是有效的,但applet 来自身份不明的开发人员,并正在努力升级特权 启用网守时,用户必须决定是否允许 那。

“未认出的开发人员”是指MAC App Store以外的源 或开发人员ID标识的开发人员。请注意,Java applet不能 参加开发人员身份证册。

如果网守设置为仅信任Mac App Store应用程序,那么您将 除非您添加,否则无法将applet添加到可信列表中 applet使用出现的表格到钥匙串的证书 单击显示详细信息后。

不允许unsigned applet逃脱Java Sandbox。

这与Gatekeeper对本机Mac应用程序的治疗一致; 来自未认定的开发人员的应用程序不允许默认运行。

如果您想看到警报的措辞已更改,请提交a 在 https://developer.apple.com/bugreporter

本基本上意味着无法以这样的方式签署小程序,即您可以避免显示此消息。我向Apple提交了一个错误报告,说明我想要改变消息的措辞,不要包含不明,未经认证的,不安全的单词......因为这是签名小程序的整点,所以用户可以感到温暖当他们需要允许applet运行时,舒适地舒适,向他们保证它们即将允许的是可以验证和验证,并且我们对计算机不会造成任何伤害,我们需要在其中的地方展示它将可见,用它戳他们的眼睛。

其他提示

你回答了自己的问题。 Gatekeeper认为,Apple未颁发的证书/签名不值得信任。

Apple文档将告诉您如何导出证书。然后,您可以像往常一样使用它。 codeSign 命令也可以执行技巧。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top