OS X 10.8 Gatekeeper et applets Java

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

entrer la description de l'image ici

L’applet a été signé avec un certificate de signature de code valide et fonctionnera correctement sur les autres plates-formes ainsi que sur les versions précédentes d’OS X. Si je modifie “Autoriser les applications téléchargées de:” à “N’importe où”, cela fonctionne correctement.

Pour autant que je puisse comprendre, “la signature numérique n’a pas pu être vérifiée”, signifie en réalité quelque chose comme “la signature n’a pas été faite avec un identifiant de développeur Mac”.

Donc: Puis-je signer des applets Java avec un identifiant de développeur Mac? Puis-je le signer avec un identifiant de développeur Mac et un certificate de signature de code standard? Est-ce qu’il y a une meilleure approche?

    Voici la réponse que j’ai obtenue du support technique pour développeurs Apple:

    Merci de votre patience pendant que nous enquêtions sur cela.

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

    Depuis un certain temps déjà, cette alerte est présentée aux utilisateurs lors de l’exécution d’une applet signée, car elle peut échapper au sandbox Java et apporter des modifications inattendues au système de l’utilisateur. Les utilisateurs ont la possibilité de cocher la case “Autoriser toutes les applets à partir de” s’ils font confiance au développeur. Par conséquent, ils ne verront plus l’alerte à moins de supprimer l’élément des préférences de sécurité Java.

    Ce qui a changé dans Mountain Lion, c’est que l’alerte de vérification signifie désormais que la signature de l’applet est valide, mais que l’applet provient d’un développeur non identifié et tente d’élargir les privilèges lorsque Gatekeeper est activé et que l’utilisateur doit décider de l’autoriser ou non.

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

    Si Gatekeeper est configuré pour approuver uniquement les applications Mac App Store, vous ne pourrez pas append l’applet à la liste de confiance à moins d’append le certificate de l’applet au trousseau à l’aide de la feuille qui apparaît après avoir cliqué sur Afficher les détails.

    Les applets non signées ne sont pas autorisées à échapper à la sandbox Java.

    Cela concorde avec le traitement par Gatekeeper des applications Mac natives; les applications provenant 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 créer un rapport de bogue à l’ adresse https://developer.apple.com/bugreporter .

    Cela signifie fondamentalement qu’il n’y a aucun moyen de signer l’applet de manière à éviter que ce message ne soit affiché. J’ai envoyé un rapport de bogue à Apple pour lui dire que je souhaitais que la formulation du message ne soit pas modifiée pour ne pas contenir des mots tels que UNIDENTIFIED, UNVERIFIED, INSECURE … parce que c’est tout l’intérêt de signer les applets, afin que les utilisateurs puissent se sentir tous chauds. et confortable à l’intérieur lorsqu’ils doivent permettre à l’applet de fonctionner, pour leur assurer que ce qu’ils sont sur le sharepoint permettre est OK et vérifié, et que leur ordinateur ne sera pas endommagé, et nous devons le montrer à un endroit où il se trouve. sera visible, de fourrer leurs yeux avec elle.

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

    La documentation Apple vous expliquera comment exporter votre certificate. Vous pouvez ensuite l’utiliser comme d’habitude. La commande codesign peut également faire l’affaire.