49 votes

L'applet Java ne peut pas ouvrir de fichiers sous Safari 7 (Mac OS X 10.9)

Nous avons une application web qui utilise l'applet Java pour manipuler des fichiers sur le disque local. Nous développons pour un certain temps, et nous savons déjà tous les types de questions une applet peut avoir avec les OS modernes es et les navigateurs et les dernières versions de Java et de nouvelles restrictions de sécurité.

Hier, Apple a déployé son nouveau Mac OS 10.9 Mavericks avec le nouveau navigateur Safari (7.0). J'ai testé notre application web sous Safari 7 / Mac OS X 10.9 juste pour trouver que Safari 7 (sans doute?) bloque l'accès aux fichiers locaux à partir de l'applet Java.

Bien que l'applet (signé en cours de validité avec certificat Thawte, et avec toutes les exigences de sécurité spécifiques à Java 7u45 remplies) s'exécute en mode sans restriction avec le plein accès au système de fichier local (Java message de sécurité dit qu'), sur la tentative d'accès du fichier local, il attrape fileNotFoundException:

java.io.FileNotFoundException: /Users/yury/Pictures/Paris 2012/L1050258.jpg (Operation not permitted)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at com.trackntag.a.v.a(Unknown Source)

Aussi lors de l'ouverture de Java boîte de dialogue ouvrir fichier à partir de l'applet, il n'affiche pas les fichiers et les dossiers dans le dossier sélecteur n'ont pas toutes les icônes (normalement ils devraient avoir). Lorsque vous traversez jusqu'à la racine du dossier, vous pouvez voir les dossiers de niveau supérieur (bac, carottes, dev, à la maison, et ainsi de suite), mais vous ne pouvez pas parcourir.

L'applet n'ont qu'un accès à des fichiers locaux avec la dernière version de Firefox 24 pour Mac, sur la même machine (Java 7u45, Mac OS X 10.9). Même avec Safari 6 et Mac OS X 10.8.5, sans parler de Linux et des machines Windows dans différentes configurations: pas de problèmes liés à l'accès à des fichiers locaux.

Ayant toutes au-dessus, je dois conclure que nous avons couru dans la problématique spécifique de Safari 7.

Avez-vous des idées sur ce problème? Toutes les pensées sont grandement appréciés.

Cheers, Yury

EDIT (Réponse): Dans Safari 7, il y a un nouveau paramètre de sécurité: Coffre-fort/mode non sécurisé (je pense que c'est pour Java plug-in uniquement). Vous pouvez autoriser les plug-in Java pour fonctionner en mode non sécurisé, soit pour des sites web individuels ou pour tous les sites. En mode non sécurisé les applets aura un accès illimité au système de fichiers local.

Il semble que ce paramètre de sécurité fonctionne au-dessus de Java propres paramètres de sécurité (restreinte et sans restriction d'accès).

Ce paramètre est disponible via les préférences de Safari / onglet Sécurité / Internet plugins: gérer les paramètres de site web (puis sélectionnez plugin Java).

Donc, une fois que je l'ai déjà répondu à ma propre question d'origine, je préfère reformuler: est-ce possible de mettre en mode non sécurisé ou remplacer le Safe mode spécifique de site web / URL sans demander à l'utilisateur de définir cette préférence sécurité? Peut-être quelque chose comme des développeurs d'Apple certificat d'aide?

Merci encore!

4voto

Paul R Points 104036

J'ai eu un problème similaire avec une autre application Java aujourd'hui. Je pense que vous devrez peut-être ajouter votre application à la liste "Autoriser les applications ci-dessous ..." dans cette boîte de dialogue ( System Prefs -> Security & Privacy -> Accessibility ):

entrez la description de l'image ici

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