Апплет Java не может открывать файлы в Safari 7 (Mac OS X 10.9)

У нас есть веб-приложение, которое использует Java-апплет для манипулирования файлами на локальном диске. Мы разработали его довольно давно, и мы уже знаем все типы проблем, которые могут возникнуть у апплета с современной ОС.ES и браузеры и последние версии Java и новые ограничения безопасности.

Вчера Apple выпустила свою новую Mac OS 10.9 Mavericks с новым браузером Safari (7.0). Я протестировал наше веб-приложение под Safari 7 / Mac OS X 10.9 просто чтобы обнаружить, что Safari 7 (возможно?) Блокирует доступ к локальным файлам из Java-апплета.

Хотя апплет (подписанный с помощью действующего сертификата Thawte и с соблюдением всех требований безопасности, специфичных для Java 7u45) работает в неограниченном режиме с полным доступом к локальной файловой системе (подсказка безопасности Java говорит об этом), при попытке доступа к локальному файлу он перехватывает 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.(FileInputStream.java:146)
    at com.trackntag.a.v.a(Unknown Source)

Также при открытии диалогового окна открытия файла Java из апплета он не отображает файлы, а папки в селекторе папок не имеют никаких значков (обычно они должны иметь их). Когда вы вернетесь назад к корневой папке, вы увидите папки верхнего уровня (bin, cores, dev, home и т. Д.), Но вы не сможете просмотреть их.

Апплет имеет доступ к локальным файлам с последней версией Firefox 24 для Mac на той же машине (Java 7u45, Mac OS X 10.9). То же самое с Safari 6 и Mac OS X 10.8.5, не говоря уже о машинах Linux и Windows в различных конфигурациях: нет проблем с доступом к локальным файлам.

Имея все вышеперечисленное, я должен сделать вывод, что мы столкнулись с проблемой, специфичной для Safari 7.

Есть ли у вас идеи по этому вопросу? Любые мысли с благодарностью.

Ура, Юрий

РЕДАКТИРОВАТЬ (ответ): в Safari 7 есть новый параметр безопасности: безопасный / небезопасный режим (я думаю, чтотолько для плагина Java). Вы можете разрешить плагину Java работать в небезопасном режиме как для отдельных сайтов, так и для всех сайтов. В небезопасном режиме апплеты будут иметь неограниченный доступ к локальной файловой системе.

Похоже, что этот параметр безопасности работает поверх Javas собственные настройки безопасности (ограниченный / неограниченный доступ).

Этот параметр доступен через настройки Safari / вкладка «Безопасность» / интернет-плагины: управление настройками веб-сайта (затем выберите плагин Java).

Поэтому, когда я уже ответил на свой оригинальный вопрос, я бы лучше перефразировал его: возможно ли установить небезопасный режим или переопределить безопасный режим для определенного веб-сайта / URL-адреса, не прося пользователя установить это предпочтение безопасности? Может быть, что-то вроде сертификата разработчика Apple поможет?

Еще раз спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос