
Crear un instalador de paquete para una aplicación en Apple Business
Puedes crear un instalador de paquete para una aplicación y añadirlo después a Apple Business para implementarlo en los dispositivos de tus usuarios. Si una aplicación no tiene instalador de paquete, puedes crear uno para su distribución con las herramientas integradas de macOS. Esto funciona mejor con las aplicaciones que tienen una estructura sencilla, como las que están en un solo paquete .app, que normalmente se encuentra en /Aplicaciones.
Firmar los paquetes
Para poder crear un paquete y distribuirlo mediante Apple Business, debes tener una identidad de firma criptográfica que tus dispositivos gestionados consideren de confianza. Esta identidad se utiliza para verificar quién es el creador de un paquete y comprobar que no ha sufrido modificaciones después de su firma. Si eres miembro del Apple Developer Program, puedes usar tu identidad de instalador. Consulta Signing your apps for Gatekeeper (Firma tus aplicaciones para Gatekeeper).
Crear una identidad de instalador
Si no tienes ninguna identidad de firma, puedes crearla. En el caso de que crees más de una, la identidad tendrá el nombre que le asignes y un número de serie aleatorio para identificarla. Si en algún momento del proceso falla algún paso, cierra la ventana de Terminal y abre una nueva. Debes seguir estos pasos en un Mac con macOS 13 o versiones posteriores.
Crea una carpeta en tu escritorio con el nombre temp.
Abre la app Terminal, escribe
cdy pulsa la barra espaciadora una vez.Arrastra la carpeta “temp” hasta la ventana de la app Terminal.
Verás una ruta similar a esta:
cd /Users/[TuNombreDeUsuarioAbreviado]/Desktop/packagesPulsa Retorno.
Introduce
ID="name", donde name es el nombre abreviado de tu organización. No uses espacios en el nombre sin comillas. Por ejemplo, Mi organización puede ser MiOrg (sin comillas) o “Mi organización” (con comillas).Pulsa Retorno.
Importante: El resto de comandos deben ejecutarse dentro de esta ventana.
Pega todos los comandos indicados a continuación y luego pulsa la tecla Retorno.
KEY="InstallerCertificate_${ID}_PrivateKey.pem"openssl req -x509 -nodes -days 365 -newkey rsa:4096 -sha256 \-addext basicConstraints=critical,CA:false \-addext keyUsage=critical,digitalSignature \-set_serial "0x$(openssl rand -hex 4)" \-subj "/CN=Installer Certificate ($ID)" \-out InstallerCertificate_"$ID".pem \-keyout "$KEY"En la misma ventana de Terminal, pega todos los comandos que se muestran a continuación y pulsa la tecla Retorno. Escribe tu contraseña para establecer el certificado de la nueva identidad como de confianza.
security import "InstallerCertificate_$ID.pem"security import "$KEY" \-T /usr/bin/productbuild -T /usr/bin/pkgbuildsecurity add-trusted-cert -d InstallerCertificate_"$ID".pemAbre la carpeta “temp” para ver el certificado nuevo con el nombre InstallerCertificate_nombre.pem y su clave privada con el nombre InstallerCertificate_nombre_PrivateKey.pem, donde name es el nombre que elegiste en el paso 4.
Guarda una copia: la necesitarás para configurar dispositivos, de forma que confíen en paquetes firmados con ese certificado.
La clave privada se ha importado en el Llavero para guardarla de forma segura y puedes eliminarla de esta carpeta.
Importante: Es importante que elimines la clave del certificado para que nadie pueda hacerse pasar por miembro de tu organización y firmar paquetes en tu nombre.
La identidad caduca un año después de su creación. Llegado el momento, tendrás que volver a realizar el mismo proceso y volver a firmar los paquetes que estuvieran firmados con la identidad anterior si sigues distribuyéndolos. La clave privada RSA de tu identidad se guarda en el llavero de forma segura. Si necesitas crear y firmar paquetes en otro ordenador Mac, deberás exportar la clave privada para importarla en el otro Mac.
Preparar dispositivos para confiar en tu identidad de firma
Después de crear una identidad de firma, configura tus dispositivos para que confíen en ella. Para ello, puedes distribuir el certificado de la identidad en forma de configuración.
Recupera el archivo InstallerCertificate_nombre.pem de la identidad, donde nombre es el nombre que elegiste al crearla.
Realiza la tarea Crear una configuración de certificado y asígnala a todos los dispositivos donde tengas pensado instalar paquetes que hayas creado.
Importante: Cualquier persona que tenga la clave privada de una identidad de firma puede crear paquetes en los que confíen los dispositivos configurados sin previo aviso. Por tanto, si sospechas que la clave privada asociada al certificado se ha perdido o copiado sin autorización, puedes eliminar la configuración del certificado y crear una nueva identidad de firma.
Crear un paquete para una aplicación con un único paquete .app
Cuando configures tus dispositivos para que confíen en una identidad de firma, podrás crear paquetes y distribuir apps en esos dispositivos. Ten en cuenta que las aplicaciones contenidas en un solo paquete .app son las más fáciles de distribuir.
Asegúrate de que la aplicación esté ubicada en tu carpeta /Aplicaciones.
Crea una carpeta en el escritorio con el nombre paquetes.
Abre la app Terminal, escribe
cdy pulsa la barra espaciadora una vez.Arrastra la carpeta “paquetes” hasta la ventana de la app Terminal y pulsa la tecla Retorno.
Verás una ruta similar a esta:
$ /Users/[TuNombreDeUsuarioAbreviado]/Desktop/packagesEscribe
productbuild --signy pulsa la barra espaciadora una vez.Añade el nombre de tu identidad (“nombre” es el nombre que escribiste en el paso 4 de la tarea “Crear una identidad de instalador”), pulsa la barra espaciadora una vez, escribe
--componenty pulsa la barra espaciadora otra vez.Arrastra la aplicación desde /Aplicaciones hasta la ventana Terminal y pulsa la barra espaciadora una vez.
Escribe un nombre para el paquete (debe terminar en
.pkgy suele ser el mismo nombre que el de la aplicación) y pulsa Retorno.Aquí tienes un ejemplo:
productbuild --sign MyCo --component /Applications/AppName AppName.pkgPulsa Retorno.
Con el comando
productbuildse imprime información a medida que se procesa la aplicación y se crea el paquete en la carpeta “paquetes”.Si esta es la primera vez que utilizas una identidad que has creado previamente, puede que tengas que introducir tu contraseña para dar permiso a la identidad para usar la clave. Si es así, escribe la contraseña y selecciona “Permitir siempre”.
Sal de la app Terminal.
Nota: Apple Business rechaza los paquetes firmados por una identidad creada fuera del Apple Developer Program, a menos que un servicio de gestión de dispositivos los envíe a un dispositivo gestionado con una configuración que permita confiar en dicha identidad. Si intentas instalar un paquete creado mediante este método en otros dispositivos, la instalación no se completará.
Añadir el certificado a una configuración
Para poder enviar el paquete a usuarios a fin de que ellos instalen la aplicación, los dispositivos Apple deben configurarse para confiar en la nueva identidad de firma.
Distribuye el certificado. Consulta Crear una configuración de certificado.
Cuando todos los dispositivos tengan el nuevo certificado, podrás cargar el paquete. Consulta Crear un paquete.