Favicon

You are here: Home > Gestión de Dispositivos > Apple > macOS > Resolución de problemas > Firmar PKG

Cómo firmar paquetes macOS (PKG) usando la línea de comandos y Xcode

Firma paquetes PKG de macOS usando la línea de comandos o Xcode con un certificado Developer ID Installer para garantizar que las apps son de confianza y verificables.

5 min read

TL;DR

Firma tus paquetes PKG de macOS usando el comando productsign en el Terminal o automáticamente a través de Xcode con un certificado Developer ID Installer para una distribución segura.

Para firmar paquetes macOS, necesitarás un certificado apropiado, como un certificado TLS/SSL con uso de firma, que debe ser verificable en el cliente. Típicamente, se usa un certificado Developer ID Installer para este propósito, obtenido desde una cuenta de desarrollador de Apple.

Sin embargo, los certificados de terceros que cumplen estos criterios también son aceptables. Si no tienes un certificado y tienes intención de usar una cuenta de desarrollador de Apple, puedes comenzar el proceso de registro en el sitio web de Apple.

Si usas una cuenta de desarrollador de Apple, los certificados pueden generarse vinculando tu cuenta de desarrollador a Xcode y exportando el archivo de certificado desde Xcode. Alternativamente, puedes iniciar sesión en tu cuenta de desarrollador de Apple en línea y descargar el certificado a través de un navegador web.

Al crear el certificado, asegúrate de que el tipo de certificado se designe como certificado Developer ID Installer y confirma que se guarda en tu Llavero de macOS.

Una vez que obtienes tu certificado, hay varios métodos disponibles para firmar el PKG de macOS.

Firma de PKGs con Terminal y línea de comandos

En este ejemplo, deberás usar el comando productsign.

1
Abrir el Acceso a Llaveros

Primero, abre el Acceso a Llaveros en macOS y encuentra el certificado. Si usas un certificado de Apple, debería comenzar con Developer ID Installer: … seguido de tu nombre de cuenta de desarrollador de Apple, y terminar con un número de serie entre paréntesis.

2
Abrir el Terminal y ejecutar el comando

A continuación, abre el Terminal. El comando para firmar el paquete debería ser algo así:

productsign --sign "Developer ID Installer: Your Developer Name (1A2B3C4D5E)" ~/Desktop/example.pkg ~/Desktop/signed-example.pkg

El texto entre comillas después de --sign debe ser el nombre común de tu certificado. El primer argumento (~/Desktop/example.pkg) indica la ubicación actual del paquete sin firmar en tu ordenador, mientras que el segundo argumento (~/Desktop/signed-example.pkg) es donde quieres guardar tu paquete firmado.

3
Verificar el paquete firmado

Una vez hecho, ejecuta el comando. Si funciona, deberías ver algo similar a lo siguiente impreso en el Terminal:

productsign: using timestamp authority for signature
productsign: signing product with identity "Developer ID Installer: Your Developer Name (1A2B3C4D5E)" from keychain /Users/sdeveloper/Library/Keychains/login.keychain-db
productsign: adding certificate "Developer ID Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to /Users/sdeveloper/Downloads/munkitools_signed-3.2.0.3476.pkg

Verifica que el paquete firmado se encuentra en el destino que especificaste.

Firma usando Xcode

Supón que estás compilando tu PKG de macOS en Xcode y tu cuenta de desarrollador de Apple está vinculada. En ese caso, Xcode puede solicitar automáticamente un certificado desde tu cuenta de desarrollador e incluirlo en el certificado de firma del paquete durante las fases de compilación y archivo. Recomendamos consultar la documentación de Apple para obtener instrucciones más detalladas.

Tip

Asegúrate de elegir Developer ID Installer en la lista desplegable para el ajuste de Certificado de firma al usar este enfoque. Esta opción se puede encontrar en la sección Firma de la pestaña de Ajustes generales.

Key Takeaways

  • Firmar paquetes macOS es crucial para una distribución segura.
  • El comando `productsign` proporciona un método de línea de comandos para firmar.
  • Xcode ofrece un proceso de firma automatizado cuando está vinculado a una cuenta de desarrollador de Apple.
  • Un certificado Developer ID Installer válido es esencial para firmar.

Necesitas un certificado verificable en el cliente, como un certificado TLS/SSL con uso de firma. Típicamente, se usa un certificado Developer ID Installer de una cuenta de desarrollador de Apple.

Puedes obtener un certificado Developer ID Installer desde tu cuenta de desarrollador de Apple vinculándola a Xcode o descargándolo a través del sitio web de desarrolladores de Apple.

Usa el comando `productsign` en el Terminal con la opción `--sign` seguida del nombre común de tu certificado. Especifica las rutas de entrada y salida del paquete.

Abre el Acceso a Llaveros en macOS y encuentra tu certificado (por ejemplo, Developer ID Installer: Tu nombre de desarrollador (1A2B3C4D5E)). El texto después de "Developer ID Installer:" es el nombre común.

Después de firmar, verifica que el paquete firmado se encuentra en el destino que especificaste en el comando `productsign`.

Sí, si tu cuenta de desarrollador de Apple está vinculada a Xcode, puede solicitar un certificado e incluirlo en el certificado de firma durante las fases de build y archivo.

Elige "Developer ID Installer" en la lista desplegable para el ajuste de Certificado de firma en la sección Firma de la pestaña de Ajustes generales en Xcode.

Sí, los certificados de terceros son aceptables siempre que cumplan los criterios de ser verificables en el cliente y tener uso de firma.

Last updated: March 26, 2026