2014-05-23 2 views
13

J'ai un fichier dmg dans mon portail.Après le télécharger, quand j'essaie d'ouvrir, il montre un message indiquant que l'ouverture du paquet n'est pas sûre. Je suis capable d'ajouter des codesign à travers la ligne de commande en utilisant la commande codesign et aussi en mesure de vérifier si elle est ajoutée ou non. mais quand je clique pour ouvrir mon fichier DMG un message d'insécurité vientComment ajouter codesigning au fichier dmg en mac

Répondre

16

Au macOS 10.11.5, vous pouvez maintenant signer des images de disque, .dmg, fichiers à l'aide de l'outil codesign:

codesign -s <identity> --keychain <full-path-to-keychain> <path-to-disk-image> 
+0

Qu'entend-on par ? Pouvez-vous donner un exemple? Merci. –

+0

Le 'chemin complet 'est un chemin de fichier absolu commençant par un'/'. –

+0

Habituellement, c'est votre trousseau de connexion: '"/Users/nom d'utilisateur/Library/Keychains/login.porte-clés "' – Daniel

9

Il y a 3 façons de fais ceci. Dans le terminal sur OS X 10.11.5 ou plus récent. Remarque: vous pouvez coder des DMG de signature sur des versions d'OS antérieures, mais Sierra ne les aime que depuis 10.11.5 ou plus récent.

codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG> 

La vérification se fait via (nécessite macOS Sierra).

spctl -a -t open --context context:primary-signature -v <pathToDMG> 

Araelium ont mis à jour DMG Canvas (v2.3), il codera signe DMG quand il construit.

DropDMG a été mis à jour pour coder également les fichiers d'image DMG (v3.4).

Il y a aussi (un outil que j'ai développé) appelé App Wrapper (3.6), qui peut coder les fichiers DMG de signature.

5

Plus tôt, j'ai du mal à coder le signe dmg sur 10.11.5 même cette commande codesign -s <identity> <path-to-disk-image> est connue de moi.

Ce que je fais plus tôt est

  1. Créer la lecture/écriture DMG (créée en utilisant l'utilitaire de disque)
  2. App Copy et d'autres ressources externes
  3. code signé DMG en utilisant la commande codesign
  4. Convert Pour lire uniquement DMG à l'aide de Utilitaire de disque
  5. Vérifiez-le en utilisant spctl -a -t open --context context:primary-signature <path-to-disk-image>, ce qui entraîne le rejet.

Ensuite, quelques permutation et de combinaison, je l'ai trouvé assez facile solution simple:

  1. Créer la lecture/écriture DMG (créée en utilisant l'utilitaire de disque).
  2. App Copy et d'autres ressources externes
  3. convertir en lecture seule DMG en utilisant l'utilitaire de disque
  4. code signé DMG en utilisant la commande codesign (Cette fois je l'ai fait sur la Sierra, très probablement devrait travailler avec 10.11.5)
  5. Vérifiez-le en utilisant spctl -a -t open --context context:primary-signature <path-to-disk-image>, qui aboutit au succès.

J'espère que cela fonctionne pour vous. :)

+0

Pouvez-vous s'il vous plaît postez la commande que vous avez utilisé pour signer le dmg – singularity

+0

Il est déjà mentionné dans la réponse Il est codesign -s?. « Application ID développeur: NOM » Vous pouvez. utiliser les options profondes et de force selon vos besoins. S'il vous plaît passer par la page de manuel de codesign https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/codesign.1.html – Khushneet

+0

Merci Khushneet, ça marche. – singularity

Questions connexes