我刚刚开始签署我的OSX桌面应用程序,因此可以轻松地在OSX 10.8上安装。我得到一个非常奇怪的问题,签名工作正常,如果dmg通过DropBox或FTP传输到Mac,我可以安装但如果dmg上传到服务器然后使用浏览器下载到Mac,则签名失败(用户看到的错误与文件未签名时相同)。
背景:应用程序是Java,使用Install4J中Apple的.p12进行签名。有趣的是,对于未签名或下载的DMG,OSX 10.8显示的错误确实很奇怪,它表示安装程序已“损坏”并且应该是未安装的。
任何人都知道为什么在使用浏览器下载DMG时签名会失败?
答案 0 :(得分:4)
Ingo有正确的答案,但我想注意是什么有助于混淆这个问题。当使用dropbox / ftp移动安装程序时,GateKeeper似乎不会检查签名 - 只有在使用浏览器(或者也许是其他选择方法)下载它们时。
所以看来传输方法有所不同,实际上签名从来没有用过。
答案 1 :(得分:3)
您使用错误的证书进行签名。要签署install4j安装程序,您需要应用程序ID证书,而不是安装程序ID证书。
不幸的是,如果证书链不完整,install4j 5.1.1在编译期间不会抱怨。 install4j 5.1.2将解决此问题。
答案 2 :(得分:0)
为了澄清,我想补充一点,要使用的苹果证书是"开发者ID应用程序"证书。它可以从应用程序导出到Mac上 - >实用程序 - >钥匙串访问。