30 votes

Gatekeeper OS X 10.8 et applets Java

Avec la nouvelle version d'OS X 10.8, Gatekeeper affiche l'avertissement suivant lorsque vous essayez de lancer une applet Java signée :

enter image description here

L'applet a été signée avec un certificat de signature de code valide et fonctionnera correctement sur d'autres plates-formes ainsi que sur les versions antérieures d'OS X. Si je modifie "Autoriser les applications téléchargées à partir de :" en "N'importe où", elle fonctionne correctement.

Pour autant que je puisse comprendre, "La signature numérique n'a pas pu être vérifiée", signifie en fait quelque chose comme "la signature n'a pas été faite avec un Mac Developer ID".

Alors : Puis-je signer des applets Java avec un Mac Developer ID ? Puis-je les signer à la fois avec un Mac Developer ID et un certificat de signature de code standard ? Existe-t-il une meilleure approche ?

10voto

Zoran Trifunovski Points 56

Voici la réponse que j'ai obtenue du support technique Apple Developer :

Merci de votre patience pendant que nous enquêtons sur ce problème.

L'alerte est présentée par Java, pas par Gatekeeper. Cependant, vous avez correct que la logique de vérification a été modifiée sur OS X Mountain Lion.

Depuis un certain temps maintenant, les utilisateurs ont été présentés avec cette alerte lorsque l'exécution d'une applet signée, car les applets signées peuvent échapper au bac à sable Java et apporter des modifications inattendues au système de l'utilisateur. Les utilisateurs ont l'option de cocher la case "Autoriser toutes les applets de " si s'ils font confiance au développeur, et ainsi ils ne verront plus l'alerte à nouveau à moins qu'ils ne suppriment l'élément dans les préférences de sécurité Java.

Ce qui a changé dans Mountain Lion, c'est que l'alerte de vérification est désormais signifie désormais que la signature de l'applet est valide, mais que l'applet provient d'un développeur non identifié et qu'elle essaie d'élever les privilèges lorsque Gatekeeper est activé et que l'utilisateur doit décider s'il veut l'autoriser. cela.

"Développeur non identifié" désigne une source autre que le Mac App Store ou un développeur identifié par Developer ID. Notez que les applets Java ne peuvent pas participer au programme Developer ID.

Si Gatekeeper est paramétré pour ne faire confiance qu'aux applications du Mac App Store, vous devrez vous ne serez pas en mesure d'ajouter l'applet à la liste de confiance à moins que vous certificat de l'applet au trousseau de clés en utilisant la feuille qui apparaît après avoir cliqué sur Afficher les détails.

Les applets non signés ne sont pas du tout autorisés à échapper à la sandbox Java.

Ceci est cohérent avec le traitement réservé par Gatekeeper aux applications Mac natives ; les applications de développeurs non identifiés ne sont pas autorisées à s'exécuter par défaut.

Si vous souhaitez que le libellé de l'alerte soit modifié, veuillez déposer une plainte. rapport de bogue à l'adresse https://developer.apple.com/bugreporter .

Cela signifie essentiellement qu'il n'existe aucun moyen de signer l'applet de manière à éviter l'affichage de ce message. J'ai envoyé un rapport de bogue à Apple en disant que je voulais que la formulation du message soit modifiée pour ne pas contenir des mots comme UNIDENTIFIED, UNVERIFIED, INSECURE... parce que c'est là tout l'intérêt de la signature des applets, pour que les utilisateurs se sentent bien au chaud lorsqu'ils doivent autoriser l'exécution de l'applet, pour leur assurer que ce qu'ils sont sur le point d'autoriser est OK et vérifié et qu'il ne fera aucun mal à leur ordinateur, et nous devons l'afficher à un endroit où il sera visible, pour attirer leur attention.

3voto

tiktak Points 513

Vous avez répondu à votre propre question. Gatekeeper considère que les certificats / signatures non émis par Apple ne sont pas fiables.

Documentation Apple vous indiquera comment exporter votre certificat. Vous pouvez ensuite l'utiliser comme d'habitude. Le site codesign peut également faire l'affaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X