Notarización de plugins de InDesign para desarrolladores de terceros

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 plugins de terceros puedan cargarse en InDesign sin tener que firmar el código. Sin embargo, los desarrolladores de plugins 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 plugins 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 plugins aunque los plugins de InDesign no requieran notarización ni firmar el código.

Requisitos de notarización

Proceso de generación de certificados

  1. Solicitar certificado (Acceso a Llaveros > Asistente para Certificados > Solicitar un certificado de una autoridad de certificación)
  2. Guarde el archivo .certSigningRequest en el disco.
  3. Inicie sesión en el portal Apple Developer.
  4. Haga clic en Certificates, Identifiers & Profiles.
  5. Elija Developer ID Application para crear un certificado.
  6. Cargue el archivo .certSigningRequest del paso 1 y complete el proceso. Descargue el archivo presented .cer en el disco.
  7. Elija Developer ID Installer y repita los pasos del 4 al 6.
  8. Cargue el mismo archivo .certSigningRequest del paso 1 y complete el proceso. Descargue el archivo presented .cer en el disco.
  9. 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 plugin BasicDialog de muestra del SDK.

  1. # code sign .InDesignPlugin

    codesign --sign "Developer ID Application: <Nombre de desarrollador>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin
  2. # code sign verification

    codesign -dv --verbose=4 BasicDialog.InDesignPlugin
  3. # create .pkg or .dmg by adding the above code signed .InDesignPlugin into the package/installer
  4. # sign your installers (como .dmg o .pkg)

    productsign --sign "Developer ID Installer: <Nombre de desarrollador>" ./BasicDialog.pkg ./BasicDialogSigned.pkg
  5. # code sign verification

    pkgutil --check-signature BasicDialogSigned.pkg
  6. # 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
  7. # 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"
  8. # staple notarized file for offline use

    xcrun stapler staple BasicDialogSigned.pkg
  9. # check if staple is in place

    stapler validate --verbose BasicDialogSigned.pkg