Comment faire authentifier votre demande de fusion 4D ?

Traduit automatiquement de Deepl

Avec Catalina (macOS 10.15), il est fortement recommandé de notariser les applications distribuées sur un réseau public. Un nombre important de développeurs transfèrent leurs applications en utilisant un périphérique de stockage connecté ou via le partage de fichiers, la notarisation n’est pas nécessaire dans ces cas où l’utilisateur fait déjà confiance au développeur. L’objectif de la notarisation est d’assurer aux utilisateurs que l’application n’est pas malveillante et n’est requise que pour les applications téléchargées à partir d’un site web.

Si vous utilisez notre fonction de signature intégrée lorsque vous créez vos applications avec 4D v18, votre application est prête à être notariée. Ce processus s’effectue en dehors de 4D. Il consiste à ajouter une signature électronique à votre demande et à soumettre votre demande signée à un service d’inspection automatisé. Voici tout ce que vous devez savoir :

Conditions préalables

Xcode

La notarisation nécessite Xcode 10 ou une version ultérieure et macOS 10.13.6 ou une version ultérieure.

Si vous avez plus d’une version de Xcode installée sur votre Mac, vous pouvez utiliser l’utilitaire xcode-select pour choisir la version appropriée :

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

Authentification à deux facteurs

Vous devez également avoir activé l’authentification à deux facteurs sur votre identifiant Apple.

Si vous n’êtes pas sûr d’avoir configuré l’authentification à deux facteurs, connectez-vous à la page de votre compte Apple ID. Dans la section Sécurité, recherchez l’option d’authentification à deux facteurs et voyez si la fonction est activée ou non.

mot de passe spécifique à l’application pour altool

Le téléchargement d’une application à des fins de notarisation s’effectue via l’interface de ligne de commande du plug-in de chargement d’applications appelé altool, qui est fourni avec Xcode.

Avant de notariser votre première application, vous devez générer un mot de passe spécifique à l’application pour altool.

Connectez-vous à la page de votre compte Apple ID. Dans la section Sécurité, cliquez sur l’option « Générer un mot de passe » située sous l’option « Mots de passe spécifiques à l’application », saisissez un libellé de mot de passe comme demandé et cliquez sur le bouton « Créer ».

Vous pouvez maintenant stocker le mot de passe en tant qu’élément du trousseau, en utilisant votre Apple ID et le mot de passe spécifique à l’application :

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

Signer votre application avec 4D

Dans 4D v18, le script de signature intégré de 4D a été mis à jour pour répondre à toutes les exigences d’Apple en matière de notarisation. 4D effectue désormais une signature récursive de tout le contenu du paquet et un horodatage sécurisé est inclus avec la signature. L’exécution renforcée est activée et un fichier de droits est fourni. Afin d’éviter toute restriction de fonctionnalité, toutes les capacités sont définies sur « true ».

Création d’une archive zip ou d’une image dmg

Comme les paquets .app ne peuvent pas être téléchargés directement vers le service de notariat, vous devez créer une archive compressée contenant votre application signée :

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

Notez que vous pouvez également télécharger une image .dmg au lieu d’une archive .zip.

Téléchargement de votre demande

Vous pouvez maintenant télécharger votre application pour la notarisation en utilisant la commande suivante :

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

Remarque : vous pouvez utiliser n’importe quel nom comme identifiant primaire de regroupement, mais il ne doit pas contenir d’espaces, de traits de soulignement ou autre chose que des lettres, des chiffres, des traits d’union et des points.

Si le téléchargement réussit, un UID de demande est renvoyé. Conservez-le pour l’utiliser ultérieurement lors de la vérification du statut de votre demande de notarisation.

Vérification de l’état de la demande de notarisation

Le processus de notarisation peut prendre jusqu’à une heure. Lorsqu’il est terminé, vous recevez un courrier électronique indiquant le résultat.

Étant donné qu’Apple a assoupli les conditions préalables à l’authentification jusqu’en janvier 2020, il est conseillé de demander également un rapport détaillé afin de vérifier s’il contient des avertissements susceptibles d’empêcher l’authentification après janvier 2020.

Un rapport détaillé peut être demandé à l’aide de la commande suivante, qui renverra un état et une URL de fichier journal :

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

Agrafer le ticket à votre application

Afin de s’assurer que Gatekeeper sait que votre application est notariée (même si aucune connexion réseau n’est disponible au premier lancement de l’application), il est recommandé de joindre le ticket produit par la notarisation à votre application. Ce processus est appelé « agrafage ».

Si vous avez utilisé une archive .zip pour la notarisation, veuillez noter que l’outil d’agrafage doit être exécuté contre le bundle .app ajouté à l’origine à l’archive zip car vous ne pouvez pas agrafer une archive .zip. Si vous avez utilisé une image .dmg, vous pouvez directement agrafer votre image .dmg.

L’agrafage est traité avec la commande suivante :

xcrun stapler staple <your_app_or_dmg_file>

Une fois que tout est dit et fait, vous pouvez alors créer une nouvelle archive .zip contenant l’application agrafée pour la distribution.

Mise à jour de

Les versions récentes de macOS (BigSur/xcode 12) peuvent nécessiter des modifications.

Apple recommande désormais d’enregistrer son mot de passe en utilisant :

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

Et ensuite de ne plus spécifier le nom d’utilisateur (apple_id) en utilisant -u ou –username lors du téléchargement ou de la vérification de l’application.

Pour les dernières mises à jour de xcrun altool, ouvrez votre Terminal et entrez :

xcrun altool --help

Thomas Maul
• VP of Strategy, 4D Product Line • When 4D's German subsidiary was created in 1988, Thomas joined the company as a Technical Director, helping to build the 4D developer community in both Germany and Austria. After many years supporting customers with technical problems and being increasingly involved in sales and management issues, he was promoted to Managing Director for 4D Germany in 1999. As a member of the executive board since 2005, he became part of worldwide strategy of the company, leading to his current position as Vice President of Strategy, 4D Product Line, responsible for defining and executing the overall strategy for the 4D product line in relation to the Program, R&D, Sales and Marketing teams.