I am trying to publish a signed application, but when downloading it through internet, gatekeeper complains:
Furthermore, the help page says that the app has been tampered with:
Which is actually not true, here is my signing/packaging procedure:
codesign --deep --force --verify -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve/Steve.app
hdiutil create -volname Steve -srcfolder Steve -ov -format UDZO Steve.dmg
codesign -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve.dmg
The whole procedure works without a problem, and as you can see, I don't change the package between the signature and the creation of the dmg.
I went through this whole document and I think everything is correct: https://developer.apple.com/library/archive/technotes/tn2206/_index.html
Furthermore, I went through everything in the Checking Gatekeeper Conformance
section:
Checking the dmg:
$ spctl -a -t open --context context:primary-signature -v Steve.dmg
Steve.dmg: accepted
source=Developer ID
Using codesign:
$ codesign --verify --deep --strict --verbose=2 Steve.app
--prepared:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
--validated:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
<snip a lot of validated libs>
--prepared:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
--validated:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
Steve.app: valid on disk
Steve.app: satisfies its Designated Requirement
using the check-signature
tool:
$ /Volumes/Signature\ Check/check-signature Steve.app
(c) 2014 Apple Inc. All rights reserved.
YES
$ /Volumes/Signature\ Check/check-signature Steve.app/Contents/Frameworks/*
(c) 2014 Apple Inc. All rights reserved.
Steve.app/Contents/Frameworks/QtConcurrent.framework: YES
<snip a lot of YES>
Steve.app/Contents/Frameworks/qwt: YES
And lastly using spctl
:
spctl -a -t exec -vv Steve.app
Steve.app: accepted
source=Developer ID
origin=Developer ID Application: Nanolive SA (GMLD8K8WH3)
The command line tells me everything is 100% correct, but I still can't launch the app from the user interface because I'm missing something, somewhere, that the command line won't tell me.
Please note that when I bypass the quarantine using the command line, the app launches properly, which implies that I don't have any missing library as far as I'm aware.
The build server runs OSX High Sierra 10.13.6
Thank you for your time and help!