Pour signer les paquets MacOS, vous devez avoir accès à un compte Apple Developer. Les certificats de signature peuvent être générés via le compte Apple Developer.
Deux conditions de base doivent être remplies pour déployer les PKG de MacOS :
- Le fichier .pkg est construit comme une archive de produit.
- Pour distribuer une application d'entreprise, le fichier .pkg doit être signé avec un identifiant de développeur obtenu à partir d'un compte Apple Developer Enterprise. Pour toutes les autres applications à distribuer via le Mac App Store, le fichier .pkg est signé à l'aide du certificat "Developer ID Installer", obtenu à partir d'un compte Apple Developer.
J'utilise pkgbuild et productbuild pour cela et ce qui suit est mon script :
Étapes à suivre pour créer et signer un fichier PKG MacOS
-
Construisez le fichier .pkg à l'aide de la commande pkgbuild.
sudo pkgbuild --component /path_to_installed_app/macapp.app --install-location /Applications --sign "Developer ID Installer: *******" /path_to_saved_package/packagename.pkg
Ici, le texte cité fait référence au nom de votre certificat. Les deux arguments spécifient l'emplacement du fichier .app déjà installé (/chemin_vers_app_installée/macapp.app) et l'emplacement du fichier .pkg nouvellement généré (/chemin_vers_paquet_sauvé/nom_du_paquet.pkg), respectivement.
-
Signez le fichier .pkg à l'aide de la commande productbuild.
sudo productbuild --package /path_to_saved_package/packagename.pkg --content /path_to_app/ --sign "Developer ID Installer: *******" /path_to_signed_pkg/signed.pkg
Ici, le texte cité fait référence au nom du certificat. Les deux arguments spécifient l'emplacement du fichier .pkg nouvellement généré (/chemin_vers_saved_package/packagename.pkg) et l'emplacement du fichier .pkg signé (/chemin_vers_signed_pkg/signed.pkg), respectivement.
Étapes à suivre pour signer les fichiers PKG de MacOS
-
Ouvrez Keychain Access dans le Mac et localisez le certificat. Le nom du certificat doit être au format : Developer ID Installer : Nom du compte Apple (numéro de série).
-
Ouvrir le terminal. La commande pour signer le paquet devrait ressembler à ceci :
productsign -sign “Developer ID Installer: Your Apple Account Name (**********)” ~/Desktop/example.pkg ~/Desktop/signed-example.pkg
Ici, le texte entre guillemets qui suit la balise -sign fait référence au nom de votre certificat. Les deux arguments, après le nom du certificat, font référence à l'emplacement actuel du paquetage non signé (/Desktop/example.pkg) et à l'emplacement du paquetage signé (/Desktop/signed-example.pkg), respectivement.
Le certificat signé est stocké dans le chemin de destination spécifié dans la commande.
J'espère que cela clarifiera vos questions ouvertes et vous guidera vers une solution appropriée.