10 votes

Est-ce que MacOS téléphone aux serveurs d'Apple avant d'exécuter une application pour la première fois ?

J'exécute MacOS Catalina 10.15.4 sur un MacBook Pro 15" de 2018, qui possède la puce T2 (si autre chose est pertinent, faites-le moi savoir et je mettrai la question à jour).

Je suis un développeur et je suis en train d'écrire et de déboguer un utilitaire de ligne de commande en C qui est censé prendre quelques milisecondes pour s'exécuter et sortir.

Ma connexion internet s'est interrompue pendant que je codais (le WiFi était toujours connecté, mais mon fournisseur d'accès était en panne), et j'ai ensuite remarqué qu'après avoir compilé l'application, la première fois que je l'ai exécutée, elle a pris quelques secondes au lieu de la fraction de seconde attendue.

J'ai désactivé le WiFi (pour qu'il n'y ait pas de connexion réseau active), j'ai compilé mon application à nouveau et je l'ai exécutée - cette fois, elle a fonctionné aussi rapidement que je l'aurais souhaité.

Allumez le WiFi, compilez et exécutez à nouveau, la première exécution de l'application prend plus de temps que prévu.

Je suis peut-être paranoïaque, mais on dirait bien que MacOS essaie de demander aux serveurs d'Apple la bénédiction pour exécuter mon application. Est-ce le cas, ou pourrait-il y avoir une autre explication ? Si c'est effectivement le cas, quelqu'un peut-il m'indiquer un article expliquant ce qui se passe sous le capot ?

UPDATE Comme demandé, voici les temps pour une moyenne de trois exécutions de la commande suivante, dans différentes conditions :

touch file.c && make && time ./file && time ./file

La première mesure est le temps moyen d'exécution file pour la première fois après la compilation (la troisième commande de la chaîne). La deuxième mesure est le temps moyen d'exécution de file pour la deuxième fois après la compilation (la quatrième commande de la chaîne).

WiFi activé, avec Internet : 347 ms/3 ms.

WiFi activé, sans internet : 5024 ms/3 ms.

Toutes les connexions réseau hors ligne : 24 ms/2 ms.

10voto

Oskar Points 1242

Oui, Les gardiens de Catalina et Mojave peuvent et vont téléphoner à la maison. maintenant dans le cadre d'un modèle de défense en couches contre les logiciels malveillants et les violations du système de protection de la vie privée.

Tout le monde s'y attend (ou le tolère) lors de la première exécution, mais des vérifications permanentes de la révocation des certificats peuvent et doivent être effectuées. bloquera les applications lorsqu'une autorité de certification de confiance révoquera un certificat de signature. avant leur date d'expiration. Lorsque cela se produit à plusieurs reprises cela peut être très frustrant.

Si vous (ou n'importe qui d'autre) ne signez pas ou ne notarisez pas les installateurs/packages/applications et n'avez pas agrafer la notarisation c'est ainsi que le gatekeeper et les contrôles connexes sont censés fonctionner. Nous aurions besoin de connaître les paramètres de votre gatekeeper et d'en savoir plus sur votre application pour savoir si cela est en jeu. En outre, lorsque les systèmes en ligne et locaux de vérification des révocations changent ou échouent, il peut être difficile de résoudre le problème.

La notarisation est une fonctionnalité de l'ère Catalina et n'a rien à voir avec un matériel spécifique.

Apple vous recommande d'authentifier tous les logiciels que vous avez distribués, y compris les anciennes versions, et même les logiciels qui ne répondent pas à toutes ces exigences ou qui ne sont pas signés. Le service notarial d'Apple utilise diverses méthodes, dont la télémétrie, pour déterminer lesquelles des règles ci-dessus doivent être assouplies pour les logiciels préexistants.

L'agrafage du ticket généré par votre notarisation réussie devrait rétablir le comportement et les performances que vous attendez car Gatekeeper peut trouver le ticket alors qu'il est hors ligne dans la plupart des cas.

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