代码签名的应用程序与其 Blessed Helper 的代码签名不匹配

Posted

技术标签:

【中文标题】代码签名的应用程序与其 Blessed Helper 的代码签名不匹配【英文标题】:Code signed App doesn't match code signature of its Blessed Helper 【发布时间】:2016-03-02 12:46:15 【问题描述】:

当我使用 Xcode 对我的应用程序进行代码签名时,它已被签名,并且所有部分也已被签名。我使用SMJobBless BlessedHelper 在签名之前使用 setreq 命令调整我的 .info 文件。似乎这并没有真正奏效,因为当我检查构建的 .app 时,SMJobBlessUtil.py 告诉我签名条目不匹配:

Tim:Applications akku$ ~/Downloads/SMJobBless/SMJobBlessUtil.py check WashAndGo.app

问题:

WashAndGo.app/Contents/Library/LaunchServices/de.abelssoft.WashAndGoFileHelper: 应用程序指定要求(锚定苹果通用和标识符 “de.abelssoft.WashAndGo”和(证书 leaf[field.1.2.840.113635.100.6.1.9] /* 存在 / 或证书 1[field.1.2.840.113635.100.6.2.6] / 存在 / 和证书 叶[field.1.2.840.113635.100.6.1.13] /存在/和证书 叶[subject.OU] = "84F375TH8K")) 与中的条目不匹配 'SMAuthorizedClients'(标识符“de.abelssoft.WashAndGo”和锚 apple generic and certificate leaf[subject.CN] = "3rd Party Mac 开发者申请:Ascora GmbH (84F375TH8K)”和证书 1[field.1.2.840.113635.100.6.2.1] / 存在 */)

我找到了很多关于代码签名的通用指南,并且对我的应用程序进行代码签名很容易,但不知何故,这种有福的助手签名(以前可以工作)对我不再有用了。

来自 Helper 的 info.plist 文件:

identifier "de.abelssoft.WashAndGo" and anchor apple generic and certificate leaf[subject.CN] = "3rd Party Mac Developer Application: Ascora GmbH (84F375TH8K)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */

来自 App 的 info.plist 文件:

anchor apple generic and identifier "de.abelssoft.WashAndGoFileHelper" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "84F375TH8K")

任何提示可能是什么问题?需要任何其他信息吗?

【问题讨论】:

【参考方案1】:

我已经尝试了很多东西,毕竟问题都消失了。我做过的一些事情是:

我将助手 ID 从 de.abelssoft.WashAndGoFileHelper 更改为 de.abelssoft.WashAndGo.WashAndGoFileHelper,因为我在某处读到助手现在应该是拥有工具的“子命名空间” 我删除了权利文件,因为我自己分发工具,并不真正需要它 我更新了 Xcode 我重新启动了我的 Mac 我建了软件,用了python脚本,又建了软件,用python脚本测试了,突然没有输出,说明一切正常。一旦 python 脚本给了我签名-OK,与助手的通信也开始了

【讨论】:

以上是关于代码签名的应用程序与其 Blessed Helper 的代码签名不匹配的主要内容,如果未能解决你的问题,请参考以下文章

git 免密码提交代码

在设备上测试其他人的应用

我可以验证给定的函数类型签名是不是具有潜在的实现吗?

代码签名错误:SDK“iOS 11.4”中的产品类型“应用程序”需要代码签名

驱动程序/代码签名

应用程序代码签名失败并出现错误“代码对象根本没有签名”