非苹果签名证书:能在Mac OS 10.8 Gatekeeper上使用吗?

30

我们公司开发的应用程序可以在Mac OS X和Windows上运行。我们已经购买了一个来自非苹果授权机构的代码签名证书,用于识别我们的Windows安装程序。我们通过自己公司的网站分发DMG和MSI。

山狮新版Gatekeeper功能的代码签名指南似乎暗示了非苹果发行的标准证书可行,虽然我可能对这种情况下“第三方”一词的解释有误:

注意:苹果公司使用行业标准的代码签名证书形式和格式。因此,如果您的公司已经拥有一个用于在其他系统上签署代码的第三方签名标识,您可以使用它与OS X codesign命令一起使用...

是否可以使用这个非苹果证书,如果可以,如何使用命令行的“codesign”命令将其整合进去?


遇到相同的情况。尝试使用我们预先存在的证书进行签名,签名成功,但Gatekeeper仍然阻止启动。 - sereda
和@sereda一样。我认为这与设置plist.info文件有关。我已经开始尝试了,但这还不足以通过Gatekeeper: http://www.digicert.com/code-signing/mac-os-codesign-tool.htm 我现在正在阅读苹果的这篇文档:https://developer.apple.com/library/mac/documentation/security/conceptual/CodeSigningGuide/Procedures/Procedures.html 仍在解决问题,但我希望这可以帮到你。 - SilentSteel
更新:不,它不会起作用。 - SilentSteel
3个回答

22

15
不行的原因是:要通过GateKeeper,您需要使用签名了您的苹果开发者ID的代码签名证书。这与颁发给您的公司的常规代码签名证书不同。只有苹果公司颁发苹果开发者ID。(至少在撰写本文时是这样。)
这非常令人困惑,因为:
- 我们购买的代码签名证书的公司明确声称它可以在MacOS上使用。但他们的意思是我们从技术上讲可以签署苹果代码。但是要通过GateKeeper是不同的。(最起码这个营销说法不清楚。) - 目前有一些不清晰的苹果文档介绍如何使用第三方证书签署代码。例如:https://developer.apple.com/library/mac/documentation/security/conceptual/CodeSigningGuide/Procedures/Procedures.html。然而,虽然您可以签署代码,但它不能通过GateKeeper!同样,这可能是指内部企业应用程序使用,或者可能已经过时。

10

Gatekeeper只识别苹果数字证书。Windows只识别Comodo、Verisign和其他几个签名机构。因此,您需要为Windows购买Comodo(或类似的)证书,并每年支付99美元以加入Apple开发者计划,以便获得苹果证书。这至少是相当令人恼火的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接