Java-Applet kann unter Safari 7 (Mac OS X 10.9) keine Dateien öffnen

Wir haben eine Web-App, die Java-Applets verwendet, um Dateien auf der lokalen Festplatte zu bearbeiten. Wir entwickeln es bereits seit einiger Zeit und kennen bereits alle Arten von Problemen, die ein Applet mit modernen Betriebssystemen und Browsern, den neuesten Java-Versionen und neuen Sicherheitsbeschränkungen haben kann.

Gestern hat Apple seinen neuen Mac OS 10.9 Mavericks mit dem neuen Safari-Browser (7.0) herausgebracht. Ich habe unsere Web-App unter Safari 7 / Mac OS X 10.9 getestet und festgestellt, dass Safari 7 (wahrscheinlich?) Den Zugriff auf lokale Dateien über das Java-Applet blockiert.

Obwohl das Applet (mit gültigem Thawte-Zertifikat signiert und alle Sicherheitsanforderungen für Java 7u45 erfüllt) im uneingeschränkten Modus mit uneingeschränktem Zugriff auf das lokale Dateisystem ausgeführt wird (dies wird von der Java-Sicherheitsabfrage angegeben), wird beim Versuch, auf die lokale Datei zuzugreifen, fileNotFoundException abgefangen :

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)

Auch beim Öffnen des Java-Dialogfelds zum Öffnen von Dateien über das Applet werden keine Dateien angezeigt und die Ordner in der Ordnerauswahl haben keine Symbole (normalerweise sollten sie diese haben). Wenn Sie zum Stammordner zurückkehren, werden Ordner der obersten Ebene (bin, cores, dev, home usw.) angezeigt, die Sie jedoch nicht durchsuchen können.

Das Applet kann mit dem neuesten Firefox 24 für Mac auf demselben Computer (Java 7u45, Mac OS X 10.9) auf lokale Dateien zugreifen. Dasselbe gilt für Safari 6 und Mac OS X 10.8.5, ganz zu schweigen von Linux- und Windows-Computern in verschiedenen Konfigurationen: Keine Probleme beim Zugriff auf lokale Dateien.

Nach alledem muss ich zu dem Schluss kommen, dass wir auf das für Safari 7 spezifische Problem gestoßen sind.

Haben Sie Ideen zu diesem Thema? Alle Gedanken werden sehr geschätzt.

Prost, Yury

BEARBEITEN (Antwort): In Safari 7 gibt es eine neue Sicherheitseinstellung: Abgesicherter / Unsicherer Modus (ich denke, es ist nur für das Java-Plug-In). Sie können zulassen, dass das Java-Plug-in im unsicheren Modus für einzelne Websites oder für alle Websites ausgeführt wird. Im unsicheren Modus haben die Applets uneingeschränkten Zugriff auf das lokale Dateisystem.

Anscheinend funktioniert diese Sicherheitseinstellung zusätzlich zu den Sicherheitseinstellungen von Java (eingeschränkter / uneingeschränkter Zugriff).

Diese Einstellung ist in den Safari-Einstellungen / Registerkarte Sicherheit / Internet-Plugins verfügbar: Verwalten Sie die Website-Einstellungen (und wählen Sie dann Java-Plugin).

Wenn ich meine ursprüngliche Frage bereits beantwortet habe, möchte ich sie lieber umformulieren: Ist es möglich, den unsicheren Modus für eine bestimmte Website / URL festzulegen oder den sicheren Modus zu überschreiben, ohne den Benutzer zu bitten, diese Sicherheitseinstellung festzulegen? Vielleicht würde so etwas wie Apple Developer Certificate helfen?

Danke noch einmal!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage