Para firmar paquetes de MacOS, necesitará acceder a una cuenta de desarrollador de Apple. Los certificados de firma se pueden generar a través de la cuenta de desarrollador de Apple.
Se deben cumplir dos requisitos básicos para desplegar los PKG de MacOS:
- El archivo .pkg se construye como un archivo de producto.
- Para distribuir como una app empresarial, el archivo .pkg debe estar firmado con un ID de desarrollador obtenido de una cuenta de empresa de desarrollador de Apple. Para todas las demás apps que se distribuyan a través del Mac App Store, el archivo .pkg se firma con el certificado "Developer ID Installer", obtenido de una cuenta de desarrollador de Apple.
Estoy usando pkgbuild y productbuild para ello y lo siguiente es mi script:
Pasos para crear y firmar un archivo PKG de MacOS
-
Construya el archivo .pkg utilizando el comando pkgbuild.
sudo pkgbuild --component /path_to_installed_app/macapp.app --install-location /Applications --sign "Developer ID Installer: *******" /path_to_saved_package/packagename.pkg
Aquí, el texto entrecomillado se refiere al nombre de su certificado. Los dos argumentos especifican la ubicación del archivo .app ya instalado (/ruta_a_la_aplicación_instalada/macapp.app) y la ubicación del archivo .pkg recién generado (/ruta_al_paquete_guardado/nombre_del_paquete.pkg), respectivamente.
-
Firme el archivo .pkg utilizando el comando productbuild.
sudo productbuild --package /path_to_saved_package/packagename.pkg --content /path_to_app/ --sign "Developer ID Installer: *******" /path_to_signed_pkg/signed.pkg
Aquí, el texto citado se refiere al nombre del certificado. Los dos argumentos especifican la ubicación del archivo .pkg recién generado (/ruta_al_paquete_guardado/nombre_del_paquete.pkg) y la ubicación del archivo .pkg firmado (/ruta_al_paquete_firmado/signado.pkg), respectivamente.
Pasos para firmar archivos PKG de MacOS
-
Abra Keychain Access en el Mac y localice el certificado. El nombre del certificado debe tener el formato Instalador de ID de desarrollador: Nombre de la cuenta de Apple (número de serie).
-
Abra el terminal. El comando para firmar el paquete debe ser algo así:
productsign -sign “Developer ID Installer: Your Apple Account Name (**********)” ~/Desktop/example.pkg ~/Desktop/signed-example.pkg
Aquí, el texto entrecomillado que sigue a la etiqueta -sign hace referencia al nombre de su certificado. Los dos argumentos, que siguen al nombre del certificado, se refieren a la ubicación actual del paquete sin firmar (/Desktop/ejemplo.pkg) y a la ubicación del paquete firmado (/Desktop/signo-ejemplo.pkg), respectivamente.
El certificado firmado se almacena en la ruta de destino especificada en el comando.
Espero que esto aclare tus dudas y te guíe para tener una solución adecuada.