3

I want to change a flag in the Info.plist of a signed OSX app (specifically I just want to set Application is agent (UIElement) = true so that it doesn't show up in the dock).

First, it won't let me change the file directly, pretty much no matter what (it ignores sudo chmod, sudo chflags, etc)

So I copied the plist elsewhere, modified it and copied it back. Now OSX won't open the app because the code signature doesn't match.

I realize this is a general security issue, but does anyone have a workaround?

4
  • did you have a workaround now maybe :( ? #zoidbergface
    – Liviu
    Oct 9, 2017 at 14:36
  • This question is 2 years old, ask a new one. I haven't thought about this in ages :)
    – None
    Oct 9, 2017 at 14:44
  • Thank you, I try it here: stackoverflow.com/questions/46650134/…
    – Liviu
    Oct 9, 2017 at 15:37
  • codesign --force --verbose=4 --sign "Developer ID Application: <your name> (<team ID>)" <application> takes less than 10s.
    – Liviu
    Oct 11, 2017 at 13:34

1 Answer 1

2

If you change any file in a signed package, no matter what platform or OS the application is for, it will breaks the digital signature. That's pretty much the whole point of signing it, you place trust in who the publisher is and know that it hasn't been tampered with since being released.

In order to get it to work, you would have to resign the application which would require at the very least a signing certificate valid for signing OSX apps. Not 100% sure what the process is, but getting a certificate wouldn't be free. It may be possible to self sign applications, I'm not sure about the specifics.

1
  • codesign --force --verbose=4 --sign "Developer ID Application: <your name> (<team ID>)" <application>. Notice, there is no --deep. It takes less than 10s.
    – Liviu
    Oct 11, 2017 at 13:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .