Crea un instalador de paquetes para una aplicación en Apple Business Essentials
Puedes crear un instalador de paquetes para una aplicación que después puedes agregar a Apple Business Essentials e implementarla para los usuarios. Si una app no tiene un instalador de paquetes, es posible usar las herramientas incorporadas en macOS para crear uno con fines de distribución. La mejor forma de hacer esto es con apps cuya estructura sea simple, como aquellas contenidas en su totalidad dentro de un paquete de apps único, generalmente localizado en /Aplicaciones.
Firmar tus paquetes
Antes de crear un paquete para distribuirlo mediante Apple Business Essentials, debes tener una identidad de firma criptográfica en la cual confíen tus dispositivos administrados. La identidad se usa para verificar quién creó un paquete y para corroborar que no se haya modificado después de la firma. Si eres miembro de Apple Developer Program, puedes usar tu identidad de instalador. Consulta el artículo sobre cómo firmar tus apps para Gatekeeper.
Crear una identidad de instalador
Si no tienes una identidad de firma, puedes crear una. La identidad tendrá un nombre a elección y un número de serie aleatorio que permitirá identificarla (en caso de crear más de una). Si estos pasos fallan en cualquier momento, cierra la ventana de Terminal y abre una nueva. Debes ejecutar estos pasos en macOS 13 o versiones posteriores.
Crea una carpeta en tu escritorio llamada temp.
Abre la app Terminal; luego, ingresa
cd
y presiona la barra espaciadora una vez.Arrastra la carpeta temporal a la ventana de la app Terminal.
Deberías ver una ruta similar a esta:
cd /Users/[YourShortUserName]Desktop/packages
Presiona Regresar.
Intro
ID="name"
, donde name es el nombre corto de tu organización. No uses espacios en el nombre sin comillas. Por ejemplo, el nombre “Mi Empresa” debería escribirse MiEmp o “Mi Empresa” (entre comillas).Presiona Regresar.
Importante: Todos los comandos adicionales deben realizarse dentro de esta ventana.
Pega todos los comandos a continuación y presiona 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 a continuación y, luego, presiona Regresar. Ingresa 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/pkgbuild
security add-trusted-cert -d InstallerCertificate_"$ID".pem
Abre la carpeta temporal para ver el certificado nuevo, denominado InstallerCertificate_name.pem, y su clave privada, denominada InstallerCertificate_name_PrivateKey.pem, donde name es el nombre elegido anteriormente en el paso 4.
Conserva una copia del certificado, ya que la necesitarás para configurar dispositivos de modo que confíen en los paquetes que se hayan firmado con él.
La clave privada se ha importado en el llavero donde se almacenará de forma segura y se debe eliminar de esta carpeta.
Importante: Es importante que elimines la clave del certificado para que nadie firme paquetes pretendiendo ser de tu organización.
La identidad caduca un año después de su creación. En ese momento, debes seguir este proceso nuevamente y volver a firmar cualquier paquete que se haya firmado con la identidad anterior y que aún se esté distribuyendo. La clave privada RSA para tu identidad se guarda por seguridad en tu llavero. Si necesitas crear y firmar paquetes en otra Mac, debes exportar la clave privada para importarla en la otra Mac.
Prepara tus dispositivos para que confíen en tu identidad de firma
Después de crear tu identidad de firma, debes configurar tus dispositivos para que confíen en ella. Para hacerlo, distribuye el certificado de la identidad como una opción.
Recupera el archivo InstallerCertificate_name.pem de la identidad, donde name es el nombre elegido durante la creación.
Sigue los pasos de la tarea Definir la configuración de un certificado y asigna el certificado a todos los dispositivos donde instalarás los paquetes que crees.
Importante: Cualquier persona que tenga la clave privada de una identidad de firma puede crear paquetes en los que los dispositivos configurados confiarán sin mediar ninguna advertencia. Por lo tanto, si por alguna razón la clave privada que coincide con el certificado pareciera haberse perdido o copiado sin autorización, debes eliminar la configuración del certificado y crear una nueva identidad de firma.
Crear un paquete para una aplicación con un solo paquete
Una vez que tengas una identidad de firma y hayas configurado tus dispositivos para que confíen en ella, puedes crear paquetes con ella para distribuirlos en tales dispositivos. Cuando lo hagas, ten en cuenta que las apps contenidas en un solo paquete de apps son las más fáciles de distribuir.
Asegúrate de que la aplicación esté en la carpeta /Aplicaciones.
Crea una carpeta en tu escritorio llamada packages.
Abre la app Terminal; luego, escribe
cd
y presiona la barra espaciadora una vez.Arrastra la carpeta packages hacia la ventana de la app Terminal y, luego, presiona Regresar.
Deberías ver una ruta similar a esta:
$ /Users/[TuNombreDeUsuarioCorto]Desktop/packages
Intro
productbuild --sign
y luego presiona la barra espaciadora una vez.Agrega el nombre de tu identidad (donde “name” es el nombre que ingresaste en el paso 4 de la tarea Crear una identidad de instalador), presiona una vez la barra espaciadora, escribe
--component
y luego presiona la barra espaciadora otra vez.Arrastra la app desde /Aplicaciones hasta la ventana de Terminal y luego presiona la barra espaciadora una vez.
Ingresa el nombre del paquete, que debe terminar en
.pkg
y que generalmente es el mismo nombre que el de la aplicación.Debería verse, por ejemplo, de la siguiente manera:
productbuild --sign MyCo --component /Applicaciones/AppName AppName.pkg
Presiona Regresar.
Con el comando
productbuild,
se imprime información a medida que se procesa la aplicación y se genera el paquete en tu carpeta de paquetes.Si esta es la primera vez que usas una identidad que creaste, es posible que se te pida que ingreses tu contraseña para concederle el permiso de usar la clave de la identidad. En ese caso, ingresa tu contraseña y selecciona Permitir siempre.
Cierra la app Terminal.
Nota: Los paquetes firmados con una identidad creada fuera de Apple Developer Program se rechazarán, a menos que se distribuyan mediante una solución de administración de dispositivos móviles (MDM) a un dispositivo administrado que ya esté configurado para confiar en la identidad. Si intentas instalar un paquete creado con este método en otros dispositivos, la instalación fallará.
Agregar el certificado a una configuración
Los dispositivos Apple deben configurarse para que confíen en la nueva identidad de firma antes de que el paquete pueda enviarse a los usuarios para que instalen la aplicación.
Distribuye el certificado. Consulta Definir la configuración de un certificado.
Una vez que todos los dispositivos tengan el nuevo certificado, puedes cargar el paquete. Consulta Crear un paquete.