Bien que le lien de RedYeti soit utile, il suffit de sauvegarder quelques clics pour que les autres me permettent de récapituler comment générer un certificat de signature de code et l'utiliser pour la (nouvelle) signature de code:
Créez votre propre certificat de signature de code:
Dans Accès au trousseau, Accès au trousseau> Assistant de certificat> Créer un certificat. Ceci lance l'assistant de certification:
Nom: Entrez ici une chaîne arbitraire dont vous vous souviendrez. Évitez les espaces, sinon vous devrez échapper le nom du certificat lorsque vous utilisez codesign
la ligne de commande.
Type d'identité: Racine auto-signée
Type de certificat: Code Signing
Cochez la case "Permettez-moi de remplacer les valeurs par défaut", c'est assez important
Numéro de série: 1 (OK tant que la combinaison nom / numéro de série du certificat est unique)
Période de validité: 3650 (vous donne 10 ans)
Email, Nom, etc. remplissez comme vous voulez.
Info paire de clés: défini sur RSA, 2048 bits. N'importe pas vraiment à mon humble avis.
De "Key usage extension" à "Subject Alternate Name Extension": acceptez les valeurs par défaut.
Emplacement: trousseau de connexion.
Une fois celui-ci créé, définissez-le sur "Toujours faire confiance" dans le trousseau de connexion: faites un clic droit sur le certificat, choisissez "Lire les informations", puis dans la section "Confiance", définissez "Lors de l'utilisation de ce certificat" sur "Toujours faire confiance".
Re-signer une application:
codesign -f --deep -s <certname> /path/to/app
Vérifiez que cela a fonctionné:
codesign -dvvvv /path/to/app
Prendre plaisir!
MISE À JOUR: Les
gens me demandaient pourquoi cela "ne fonctionnait pas" dans macOS 10.14 "Mojave". Maintenant que j'ai enfin mis à jour :-), voici ce que j'ai appris.
Fondamentalement, n'utilisez pas de certificat auto-signé pour la signature de code. Générez un certificat à l'aide de votre identifiant Apple dans Xcode . Pour récapituler brièvement les étapes:
Dans Xcode> Préférences> Comptes, sélectionnez votre identifiant de développeur Apple, cliquez sur "Gérer les certificats", sélectionnez le "+" dans le coin inférieur gauche, l'option "Développement Apple" vous est proposée. Sélectionnez cela, cela fera un certificat pour vous. En appuyant sur Ctrl-clic sur le nouveau certificat, vous pouvez l'exporter (au .p12
format), puis en open
chargeant ce .p12
fichier, il est chargé dans votre trousseau de connexion.
Vous verrez que ce certificat est valide pour un an, "Émis par: Autorité de certification des relations de développeurs Apple dans le monde entier". Je soupçonne que c'est plus digne de confiance qu'un certificat auto-signé.
Maintenant, vous pouvez signer votre application comme avant avec codesign -f -s <apple_ID> /path/to/prog
. Je l'ai essayé avec un simple binaire (compilé à partir de hello.c
:-)), et cela a pu être vérifié avec codesign -v
.
Je n'ai pas encore essayé avec les packages Python, aussi je n'ai aucun conseil à donner aux personnes qui ont mentionné dans leurs commentaires que cela ne peut pas signer "python.app".