Will Gatekeeper kick in when launching an external unsigned applications from a signed application?

75 views Asked by At

I'm developing an application that will launch other applications (by system("javaws ...) to be specific).

My question is, if I sign my application with my Apple Identified Developer key, will Gatekeeper kick in and show popups / warnings if my application launches other unsigned applications?

(I'd try this out myself, but I don't have an Identified Developer key yet, and I thought I'd ask here before applying for one.)

Here's the only related questions that I've found: How to sign (dynamic) JNLP files for OSX and Gatekeeper

1

There are 1 answers

0
1203_dube On

No, Gatekeeper will not show additional warnings if you launch a different unsigned application using system(...).

Gatekeeper works by checking the quarantine flag for a .app bundle, and, if it is set, performing a signature check on that .app bundle before it is launched. (The quarantine flag is stored as an extended attribute when an application is downloaded from the Internet, e.g., with Firefox or Safari.) This seems to happen for users double-clicking a .app from the finder, or from the command-line 'open' utility being invoked. I am not aware of any other mechanisms which trigger a Gatekeeper check.

You can open anything you like using system(..) without Gatekeeper trouble, regardless of whether the executable you are invoking is inside a signed .app bundle or not. Additionally, javaws should not trigger a Gatekeeper check for whatever it opens.