Search code examples
macosmac-app-storeosx-gatekeeper

How do I know which Gatekeeper signature does my OS X app use?


From a recent post by Apple:

With the release of OS X Mavericks 10.9.5, the way that OS X recognizes signed apps will change. Signatures created with OS X Mountain Lion 10.8.5 or earlier (v1 signatures) will be obsoleted and Gatekeeper will no longer recognize them. Users may receive a Gatekeeper warning and will need to exempt your app to continue using it. To ensure your apps will run without warning on updated versions of OS X, they must be signed on OS X Mavericks 10.9 or later (v2 signatures).

How do I know if my app needs to be resigned?


Solution

  • $ codesign -dv Foo.app
    Executable=/Applications/Foo.app/Contents/MacOS/Foo
    Identifier=com.example.Foo
    Format=bundle with Mach-O thin (x86_64)
    CodeDirectory v=20100 size=915 flags=0x200(kill) hashes=37+5 location=embedded
    Signature size=4169
    Info.plist entries=30
    TeamIdentifier=not set
    Sealed Resources version=1 rules=5 files=33 // ⬅︎ this is the line
    Internal requirements count=1 size=228
    

    For details see Technical Note TN2206, OS X Code Signing In Depth.