Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Code signed App doesn't match code signature of its Blessed Helper

When I code-sign my app using Xcode, it is signed and also all parts are signed. I used the SMJobBless BlessedHelper to adapt my .info files using the setreq command before signing. Seems that doesn't really work out, as when I then check the built .app, SMJobBlessUtil.py tells me that the signature entry doesn't match:

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

The problem:

WashAndGo.app/Contents/Library/LaunchServices/de.abelssoft.WashAndGoFileHelper: app designated requirement (anchor apple generic and identifier "de.abelssoft.WashAndGo" 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")) doesn't match entry in 'SMAuthorizedClients' (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 */)

I've found a lot of general guides to code signing, and code-signing my application works like a breeze, but somehow this blessed helper signing (that used to work earlier) does not work for me anymore.

From the Helper's info.plist file:

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 */

From the App's info.plist file:

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")

Any hints what could be the problem? Any additional info needed?

like image 995
Akku Avatar asked Nov 09 '22 19:11

Akku


1 Answers

I have tried lots of things, and after all the problem was gone. Some things I did, where I can't determine what exactly solved the problem, was:

  • I changed the helpers id from de.abelssoft.WashAndGoFileHelper to de.abelssoft.WashAndGo.WashAndGoFileHelper as I read somewhere that helpers should now be a "subnamespace" of the owning tool
  • I removed the entitlements file, as I'm distributing the tool myself and don't really need it
  • I updated Xcode
  • I restarted my Mac
  • I built the software, used the python script, built the software again, tested with the python script, and suddenly there was no output, meaning everything is fine. The communication to the helper also worked as soon as the python script gave me the signing-OK
like image 126
Akku Avatar answered Nov 15 '22 05:11

Akku