无法使用有效的安装程序证书“编码”安装程序包

时间:2014-02-20 19:25:24

标签: macos keychain codesign

我正在尝试生成一个代码签名的安装程序包,以便在Mac Store外部进行分发。我的钥匙串包含您昨天加入Apple Developer计划时获得的5张证书。我必须使用命令行“codesign”工具来执行此操作。这需要很好的技巧,因为代码签名的默认机制与正确的证书挂钩不会区分具有相似“通用名称”的证书 - 它们都以“第三方Mac开发者”开头,这会对代码签名的默认设置造成混淆。但是,如果你研究文档(codesign的手册页和Apple的技术文档,“代码签名”),有办法解决这个问题。当我仔细遵循各种指示时,我的尝试仍然失败。这是我的终端命令行输入(注意我的证书ID是X-ed out):

codesign -s "3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX)" -v /Users/antonywallacenispel/Desktop/SpellAware
_1.0/SpellAwareDistributionPackageStuff/SpellAware 

结果如下:

3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX): this identity cannot be used for signing code

当我尝试更严格的请求时:

codesign -s -i "3rd Party Mac Developer Installer: Antony Nispel (XXXXXXXXXX)" -v /Users/antonywallacenispel/Desktop/SpellAware_1.0/SpellAwareDistributionPackageStuff/SpellAware 

我收到以下回复:

-i: no identity found 

我向您保证我的“身份”(我的安装人员证书的共同名称)是正确的。

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果没有提交到AppStore,您将使用“开发者ID安装程序”证书。

证书重要

这些是您需要一起用于代码签名的证书:

  • 开发者ID安装程序
  • 开发者ID应用

    • 第三方Mac开发者安装程序(通常仅用于AppStore应用程序)。

Apple Developer Codesigning Workflow Guide

简而言之,您已使用正确的代码签名证书按特定顺序对安装程序进行了编码。我之前回答了类似的问题here