Cómo certificar ante notario su solicitud 4D fusionada

Traducido automáticamente de Deepl

Con Catalina (macOS 10.15), es muy recomendable notarizar las aplicaciones distribuidas a través de una red pública. Un número importante de desarrolladores transfieren sus aplicaciones utilizando un dispositivo de almacenamiento conectado o mediante el uso compartido de archivos, la notarización no es necesaria en estos casos en los que el usuario ya confía en el desarrollador. El propósito de la notarización es garantizar a los usuarios que la aplicación no es maliciosa y sólo es necesaria para las aplicaciones descargadas de un sitio web.

Si usted utiliza nuestra función de firma incorporada cuando construye sus aplicaciones con 4D v18, su aplicación está lista para ser notariada. Este proceso se realiza fuera de 4D. Consiste en añadir una firma electrónica a su solicitud y enviar su solicitud firmada a un servicio de inspección automatizado. Aquí está todo lo que necesita saber:

Requisitos previos

Xcode

La notarización requiere Xcode 10 o posterior y macOS 10.13.6 o posterior.

Si tiene más de una versión de Xcode instalada en su Mac, puede utilizar la utilidad xcode-select para elegir la versión adecuada:

sudo xcode-select -s /path/to/Xcode10.app

Autentificación de dos factores

También necesitarás haber activado la autenticación de dos factores en tu ID de Apple.

Si no estás seguro de haber configurado la autenticación de dos factores, entra en la página de tu cuenta del ID de Apple. En la sección de Seguridad, busca la opción de autenticación de dos factores y comprueba si la función está activada o desactivada.

contraseña específica de la aplicación para altool

La carga de una aplicación para su notarización se realiza a través de la interfaz de línea de comandos para el complemento del cargador de aplicaciones llamado altool, que viene con Xcode.

Antes de notarizar tu primera aplicación, necesitarás generar una contraseña específica de la aplicación para altool.

Accede a la página de tu cuenta del ID de Apple. En la sección de Seguridad, haz clic en la opción «Generar contraseña» debajo de la opción «Contraseñas específicas de la aplicación», introduce una etiqueta de contraseña como se solicita y haz clic en el botón «Crear».

Ahora puede almacenar la contraseña como un elemento del llavero, utilizando su ID de Apple y la contraseña específica de la aplicación:

security add-generic-password -a "<apple_id>" -w "<password>" -s "altool"

Firmar su aplicación con 4D

En 4D v18, el script de firma integrado de 4D ha sido actualizado para cumplir con todos los requisitos de Apple para la notarización. 4D ahora realiza una firma recursiva de todo el contenido del paquete y se incluye una marca de tiempo segura con la firma. El tiempo de ejecución reforzado está habilitado y se proporciona un archivo de derechos. Para evitar cualquier restricción de características, todas las capacidades se establecen en «true».

Creación de un archivo zip o una imagen dmg

Dado que los paquetes .app no pueden subirse directamente al servicio de notario, tendrás que crear un archivo comprimido que contenga tu aplicación firmada:

/usr/bin/ditto -c -k --keepParent "<path_to_app>" "<path_to_zip_archive>"

Ten en cuenta que también puedes subir una imagen .dmg en lugar de un archivo .zip.

Carga de la solicitud

Ahora puedes subir tu aplicación para la notarización utilizando el siguiente comando:

xcrun altool --notarize-app --primary-bundle-id "<primary_bundle_identifier>" --username "<apple_id>" --password "@keychain:altool" --file path_to_zip_archive

Nota: puede utilizar cualquier nombre como identificador principal del paquete, pero no debe contener espacios, guiones bajos ni nada que no sean letras, números, guiones y puntos.

Si la carga tiene éxito, se devuelve un UID de solicitud. Guárdelo para utilizarlo más tarde cuando compruebe el estado de su solicitud de notarización.

Comprobación del estado de la notarización

El proceso de notarización puede durar hasta una hora. Cuando termine, recibirás un correo electrónico indicando el resultado.

Dado que Apple ha suavizado los requisitos previos a la notarización hasta enero de 2020, se aconseja que también solicite un informe detallado para verificar si contiene alguna advertencia que pueda impedir la notarización después de enero de 2020.

Se puede solicitar un informe detallado con el siguiente comando, que devolverá un estado y una URL del archivo de registro:

xcrun altool --notarization-info <request_uid> -u "<apple_id>" -p "@keychain:altool"

Engrapando el ticket a su aplicación

Para asegurarse de que Gatekeeper sabe que su aplicación está notarizada (incluso cuando no hay conexión de red disponible en el primer lanzamiento de la aplicación), se recomienda adjuntar el ticket producido por la notarización a su aplicación. Este proceso se denomina «grapado».

Si has utilizado un archivo .zip para la notarización, ten en cuenta que la herramienta de grapado debe ejecutarse contra el paquete .app añadido originalmente al archivo zip, ya que no se puede grapar un archivo .zip. Si ha utilizado una imagen .dmg, puede grapar directamente su imagen .dmg.

El grapado se procesa con el siguiente comando:

xcrun stapler staple <your_app_or_dmg_file>

Una vez que todo está dicho y hecho, puedes crear un nuevo archivo .zip que contenga la aplicación grapada para su distribución.

Actualizar

Las versiones recientes de macOS (BigSur/xcode 12) pueden requerir cambios.

Ahora Apple recomienda registrar la contraseña utilizando:

xcrun altool --store-password-in-keychain-item "altool" -u "<apple_id>" -p "password"

Y luego no especificar más el nombre de usuario (apple_id) usando -u o –username al subir o comprobar la aplicación.

Para las últimas actualizaciones de xcrun altool abra su Terminal y entre:

xcrun altool --help

Thomas Maul
• VP de Estrategia, Línea de Productos 4D - Cuando se creó la filial alemana de 4D en 1988, Thomas ingresó a la compañía como director técnico, ayudando a crear la comunidad de desarrolladores 4D tanto en Alemania como en Austria. Después de muchos años apoyando a los clientes con problemas técnicos y estando cada vez más involucrado en cuestiones de ventas y gestión, fue ascendido a director general de 4D Alemania en 1999. Como miembro de la junta ejecutiva desde 2005, pasó a formar parte de la estrategia mundial de la empresa, lo que lo llevó a su actual cargo de vicepresidente de Estrategia, Línea de Productos 4D, responsable de definir y ejecutar la estrategia global para la línea de productos 4D en relación con los equipos de Programa, I+D, Ventas y Mercadeo.