Java-апплет - блокировать запуск потенциально небезопасных компонентов? сообщение

После последнего обновления Java два моих апплета отображают всплывающее окно с предупреждением для наших пользователей, хотя оба используемых нами файла jar подписаны. Я проверил, что они подписаны с помощью команды jarsigner -verify MyJarFile.jar. Ниже приведено всплывающее сообщение, которое мы видим...

введите здесь описание изображения

Мой апплет вызывает dll С++ через JNI. DLL C++ вызывает сетевой модуль C#.

Кто-нибудь знает, что я могу сделать, чтобы это всплывающее окно исчезло? В нем говорится, что приложение содержит как подписанный, так и неподписанный код, но я подписываю каждый файл Java (есть только 1) в моем файле jar. Есть ли более высокий уровень подписи, который мне нужно сделать?

Изменить: это происходит с последним обновлением Java. См. цитату ниже, взятую с этой страницы.

Авторы и поставщики приложений, развернутых с использованием апплетов Java или технологии Java Web Start (приложений, распространяемых конечным пользователям во время выполнения через веб-браузер или сеть), должны подписывать свой код с помощью доверенного сертификата для обеспечения наилучшего взаимодействия с пользователем. В частности, весь код Java, выполняемый в браузере клиента, будет запрашивать у пользователя. Тип представленных диалоговых сообщений зависит от факторов риска, таких как подписанный или неподписанный код, код, запрашивающий повышение привилегий, JRE выше или ниже базового уровня безопасности и т. д. Сценарии с низким риском представляют очень минимальный диалог и включают флажок, чтобы не отображать подобные диалоги. тем же поставщиком в будущем. Сценарии с более высоким риском, такие как запуск неподписанных jar-файлов, потребуют большего взаимодействия с пользователем, учитывая повышенный риск.


person gwin003    schedule 08.05.2013    source источник
comment
Этот вопрос не совпадает с моим. Если я вообще не подпишу свой файл jar, я получу сообщение об ошибке в вашей ссылке. Это дополнительная функция безопасности, добавленная в последнем обновлении Java.   -  person gwin003    schedule 08.05.2013


Ответы (1)


Я понял ответ. У меня не было файла манифеста в моем проекте eclipse, поэтому я создал файл с именем manifest.mf и поместил в него следующий код.

Manifest-Version: 1.0
Trusted-Library: true

При создании файла jar в eclipse на 3-й странице он запрашивает файл манифеста. Я полагаю, что по умолчанию для этого параметра установлено значение «Создать для меня файл манифеста», но этот файл манифеста содержит только первую строку выше. Выберите параметр «Использовать существующий манифест из рабочей области» и выберите только что созданный файл manifest.mf. Затем подпишите банку, как обычно.

Именно атрибут Trusted-Library решил проблему. Посетите эту страницу для получения дополнительной информации. для этого атрибута и других jar-файлов привилегированного кода.

person gwin003    schedule 08.05.2013
comment
Работал как шарм на IE9. - person Rich Apodaca; 27.08.2013