Question:
Veuillez noter avant de lire ceci: "Dites-leur d'aller à System preferences > Security & privacy
et allow 3rd party applications to run
n'est pas une solution acceptable pour ce problème.
J'ai créé un .app
qui a été signé avec un certificat de développeur Mac valide. Pourtant, le télécharger à partir d'Internet et l'exécuter lancent toujours l'invite de sécurité:
Impossible d'ouvrir l'application, car elle provient d'un développeur non identifié
Il s'agit du codesign -vvv
vidage de terminal pour .app
:
Executable=/Users/me/Desktop/ADRA.app/Contents/MacOS/ADRA
Identifier=unity.Company.ADRA NSW 2016
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178145 flags=0x0(none) hashes=5561+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=79ecf88721d6387749c1f6b10355c3683ef20eb2
CandidateCDHash sha256=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Hash choices=sha1,sha256
CDHash=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Signature size=4739
Authority=3rd Party Mac Developer Application: Company Pty Ltd (NH73TNDB28)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=20 Apr 2017, 2:46:12 PM
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=224
Je ne comprends pas pourquoi cela ne passe pas Gatekeeper? Y a-t-il quelque chose qui manque? Apple a-t-il besoin de quelque chose de plus?
Mise à jour 1:
@TheDarkKnight a suggéré que j'utilise un certificat incorrect pour signer le .app
. On dirait qu'ils sont corrects, donc je suis allé en créer un nouveau Developer ID Application certificate
mais apparemment parce que je ne suis pas un «agent» dans le compte de groupe, je dois donc attendre que «l'agent» en crée un pour moi - semble à l'envers, est-ce qu'il y a pas d'autre moyen d'attendre que 'l'agent' fasse ça pour moi?
(dans Xcode) Si le bouton radio "Developer ID" est grisé, vous avez probablement un compte de groupe. Ces types de comptes permettent uniquement au rôle "Agent" de créer des ID de développeur. Contactez la personne qui a créé votre compte de développeur Apple de groupe si vous êtes bloqué ici.
https://developer.mozilla.org/en-US/docs/Mozilla/Signing_Mozilla_apps_for_Mac_OS_X
Mise à jour 2:
J'ai donc finalement obtenu mon nouveau certificat aujourd'hui, re-signé le .app
, téléchargé à partir du serveur exécuté et toujours reçu le message d'erreur . L'autorité semble être correcte maintenant:
Executable=/Users/me/Downloads/ADRA.app/Contents/MacOS/ADRA
Identifier=com.company.adra
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178133 flags=0x0(none) hashes=5561+3 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
OSPlatform=36
OSSDKVersion=657408
OSVersionMin=656896
Hash type=sha256 size=32
CandidateCDHash sha1=90d2a54162d6d018bf4f7602d7707c8e8e522fc6
CandidateCDHash sha256=dadfe5203d1367ea776f9501025dbd4ce751ee30
Hash choices=sha1,sha256
Page size=4096
CDHash=dadfe5203d1367ea776f9501025dbd4ce751ee30
Signature size=8930
Authority=Developer ID Application: Company Pty Ltd (NH73TNDB28)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=10 May 2017, 3:36:51 pm
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=184
Je ne fais que signer. .app
Y a-t-il autre chose à faire pour que cela fonctionne? Y a-t-il un délai que je dois attendre avant que cela fonctionne?
Mise à jour 3:
Maintenant près d'un mois après la mise à jour 2, ce problème est toujours apparenté, et a donc placé une prime.
DMG
fois téléchargée? Sur quelle version de macOS testez-vous?.dmg
, devez-vous également le signer? J'utilisais reussoftware.net/2012/08/30/… comme référence et ils déclarent que.dmg
cela ne nécessite pas de signature supplémentaire, donc je ne l'ai pas signé.spctl -vvv -a -t open --context context:primary-signature <full path to app or dmg>
Réponses:
D'une manière générale, lors de la distribution d'applications en dehors du Mac App Store, vous devez:
Le dépannage de problèmes comme celui-ci peut être délicat car il est facile de faire des hypothèses sur ce que l'OP (dans ce cas, vous) sait, etc. En lisant votre question, je vais supposer que les trois premières étapes sont prises en compte.
Commençons donc par vérifier comment vous validez votre application.
Validez votre application
Pour valider une application signée Developer ID, procédez comme suit:
Cela identifiera tout problème de validation. Si vous en trouvez, ce sera votre problème (ou au moins une partie de celui-ci), vous devrez donc le résoudre.
Si aucun problème n'est détecté, procédez ci-dessous.
Exporter une application signée par un ID développeur
Une fois votre application exportée, vous devez tester avec Gatekeeper activé et à nouveau avec Gatekeeper désactivé.
la source