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

Akk*_*kku 5 macos xcode code-signing signature

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

Tim:Applications akku$ ~/Downloads/SMJobBless/SMJobBlessUtil.py check WashAndGo.app
Run Code Online (Sandbox Code Playgroud)

问题:

WashAndGo.app/Contents/Library/LaunchServices/de.abelssoft.WashAndGoFileHelper:应用程序指定要求(锚苹果通用和标识符“de.abelssoft.WashAndGo”和(证书叶[field.1.2.840.113635.100.6.1.9] /*存在/ 或证书 1[field.1.2.840.113635.100.6.2.6] /存在/ 且证书 leaf[field.1.2.840.113635.100.6.1.13] /存在/ 且证书 leaf[subject.OU] = "84F375TH8K")) 不存在与“SMAuthorizedClients”中的条目不匹配(标识符“de.abelssoft.WashAndGo”和锚苹果通用和证书 leaf[subject.CN] =“第 3 方 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 */
Run Code Online (Sandbox Code Playgroud)

从应用程序的 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")
Run Code Online (Sandbox Code Playgroud)

有任何提示可能是什么问题吗?需要任何额外信息吗?

Akk*_*kku 1

我尝试了很多方法,最终问题都解决了。我所做的一些事情(我无法确定到底是什么解决了问题)是:

  • 我将助手 id 从 de.abelssoft.WashAndGoFileHelper 更改为 de.abelssoft.WashAndGo.WashAndGoFileHelper 因为我在某处读到助手现在应该是拥有工具的“子名称空间”
  • 我删除了权利文件,因为我自己分发该工具并且并不真正需要它
  • 我更新了 Xcode
  • 我重新启动了我的 Mac
  • 我构建了软件,使用了python脚本,再次构建了软件,用python脚本进行了测试,突然没有输出,这意味着一切都很好。当 python 脚本给我签名后,与助手的通信也开始工作