5 votes

Activer le "Hardened Runtime" depuis l'extérieur de XCode

Cette question est motivée par la nouvelles exigences en matière de notarisation qu'Apple appliquera aux applications Mac distribuées en dehors du Mac App Store en ciblant Mojave (dans un avenir proche).

Je maintiens une suite d'applications auto-hébergées, signées par le certificat Developer ID Application, en utilisant un runtime personnalisé (Excelsior JET for Mac Java JIT Compiler / Runtime) ; des scripts bash scripts (sont utilisés comme partie intégrante des applications dans le processus d'installation) et automatisent les builds. Il n'y a donc pas de projet XCod` en soi impliqué dans ce processus.

Après avoir consulté la documentation destinée aux développeurs, je n'ai pas trouvé de moyen d'activer et de personnaliser ce "mode renforcé" ( décrite ici ) en utilisant n'importe quel type d'utilitaire de XCode, mais à partir du CLI (au lieu de l'interface graphique de l'IDE). Existe-t-il un moyen d'y parvenir ?

4voto

seph Points 129

Vous cherchez les codesign's --options runtime argument ? Je crois que c'est tout ce dont vous avez besoin pour activer le runtime renforcé.

Apple propose quelques documents qui facilitent la mise en place de votre propre processus de notarisation :

2voto

Oskar Points 1242

Cette procédure est documentée par Apple pour l'utilisation des outils de ligne de commande xcode-select , xcrun y altool

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

xcrun altool --notarize-app --primary-bundle-id "com.example.ote.zip" --username "AC_USERNAME" --password "@keychain:AC_PASSWORD" --file OvernightTextEditor_11.6.8.zip

Vous devriez donc être en mesure de l'incorporer dans les outils de conditionnement ou de CI que vous utilisez. Nous l'utiliserons beaucoup au travail car nous commençons à creuser sur la façon dont nous aurons besoin de notariser nos différents ensembles d'outils DIY et scripts.

Cela ne couvre pas exactement le durcissement / les droits, mais je m'attends à ce que vous obteniez du JSON en retour de la demande de notarisation qui vous aidera à créer la plist correcte pour vos exceptions au durcissement général qui est appliqué lorsque l'OS exécute une application notarisée.

2voto

elder elder Points 373

J'ai plusieurs exécutables dans mon application. Le durcissement a lieu lorsqu'ils sont tous signés avec la balise --options runtime . En fin de compte, bien sûr, je signe le paquet d'applications lui-même de la même manière (voir les liens que j'ai fournis dans mon dernier commentaire ci-dessus).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X