La notarización brinda la confianza de que Apple ha verificado si el software firmado con el ID del desarrollador contiene componentes maliciosos. Para obtener más información sobre los requisitos y las reglas de notarización de Apple, consulte Notarización del software de macOS antes de la distribución.
Para cumplir con las reglas de notarización de Apple, InDesign 2020 ha activado asignaciones de tiempo de ejecución más estrictas que permiten que los plug-ins de terceros puedan cargarse en InDesign sin tener que firmar el código. Sin embargo, los desarrolladores de plug-ins suelen distribuir complementos por Internet a través de instaladores (.pkg o .dmg). El guardián de Apple en macOS pone en cuarentena automáticamente cualquier código binario que no esté notarizado, por lo que podría suceder que sus instaladores de plug-ins no se puedan ejecutar. Para obtener más información, consulte InDesign y macOS 10.15 (Catalina). Por lo tanto, es preciso notarizar los instaladores/códigos binarios de plug-ins aunque los plug-ins de InDesign no requieran notarización ni firmar el código.
Requisitos de notarización
- Cuenta de desarrollador de Apple
- Xcode 10 o más reciente
- Una contraseña específica para la aplicación. Estas son las instrucciones para generarla.
Proceso de generación de certificados
- Solicitar certificado (Acceso a Llaveros > Asistente para Certificados > Solicitar un certificado de una autoridad de certificación)
- Guarde el archivo .certSigningRequest en el disco.
- Inicie sesión en el portal Apple Developer.
- Haga clic en Certificates, Identifiers & Profiles.
- Elija Developer ID Application para crear un certificado.
- Cargue el archivo .certSigningRequest del paso 1 y complete el proceso. Descargue el archivo presented .cer en el disco.
- Elija Developer ID Installer y repita los pasos del 4 al 6.
- Cargue el mismo archivo .certSigningRequest del paso 1 y complete el proceso. Descargue el archivo presented .cer en el disco.
- Haga doble clic en los certificados .cer descargados que se han generado en los pasos 6 y 8 para importarlos a Llaveros.
Pasos de notarización para archivos .pkg o .dmg
En este ejemplo se utiliza el plug-in BasicDialog de muestra del SDK.
# code sign .InDesignPlugin
codesign --sign "Developer ID Application: <Nombre de desarrollador>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # code sign verification
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # create .pkg or .dmg by adding the above code signed .InDesignPlugin into the package/installer
# sign your installers (como .dmg o .pkg)
productsign --sign "Developer ID Installer: <Nombre de desarrollador>" ./BasicDialog.pkg ./BasicDialogSigned.pkg # code sign verification
pkgutil --check-signature BasicDialogSigned.pkg # send for notarization
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # check notarization status online (el paso 6 debería devolver el UID de solicitud)
xcrun altool --notarization-info <UID de solicitud> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # staple notarized file for offline use
xcrun stapler staple BasicDialogSigned.pkg # check if staple is in place
stapler validate --verbose BasicDialogSigned.pkg