代码在Mac上签名"错误:在钥匙串中找不到指定的项目"

时间:2016-11-22 14:56:44

标签: certificate code-signing macos-sierra

我试图在macOS Sierra上签署一个应用程序,但找不到我的开发者ID证书。任何人都可以澄清我做错了什么吗?谢谢!

这是我的流程:

  1. 我下载了一个"应用程序"和#34;安装人员"来自Apple的开发者ID证书
  2. 我已将两者安装到我的系统钥匙串中,他们显示"此证书有效"
  3. 我打开终端并将目录更改为我的应用程序文件夹
  4. 我尝试codesign --deep --force --verbose --sign "<identity>" "<appName>"但我得到以下内容&#34;错误:在钥匙串中找不到指定的项目&#34;
  5. 我尝试过的一些事情:

    一个。通过将代码签名设置为&#34;始终信任&#34;

    ,使用证书的自定义设置

    湾使用证书的整个公共名称作为标识,而不是括号内的值

    ℃。运行security find-identity -p codesigning,我得到以下内容&#34;策略:代码签名匹配身份0找到的身份仅有效身份0找到有效身份&#34;

    d。删除证书并将其重新安装到登录密钥链

1 个答案:

答案 0 :(得分:0)

首先您没有提到用于生成证书的私钥。

我购买了新的Mac Mini构建机器来替换旧的Mac Mini。旧的有签名证书。仅仅导入从Apple下载的签名证书是行不通的,我还需要用于形成证书申请的原始私钥。因此,我按照https://stackoverflow.com/a/34063997/28190从旧机器中导出了一个新的钥匙串,并导入了新的钥匙串,然后就可以使用它了。

您需要自定义“解锁钥匙串”调用以指向导入的钥匙串。