У меня возникла проблема самоподписывания апплета Java. Апплет состоит из одного класса TestApplet и корректно работает внутри средства просмотра апплета Eclipse. Апплет упакован в файл jar, который подписан с использованием хранилища ключей.Самостоятельные Java-апплеты
jarsigner -keystore ..\.keystore bin\TestApplet.jar myalias
, который выдается «баночка подписал» И предупреждение: «Сертификат подписавшего истекает в течение 6 месяцев»
Я загрузил файлы на веб-странице общественного и побежал апплет в веб-браузере но получил сообщение об ошибке: «Приложение заблокировано параметрами безопасности» и не может запустить апплет. Если я изменю уровень безопасности на средний, я получаю предупреждающее сообщение: «Беззнаковое приложение из нижерасположенного запроса запрашивает разрешение на запуск». и я могу запустить апплет. Но апплет должен работать на других компьютерах, поэтому это решение неадекватно.
Если я загружаю файл jar с хоста, я могу его проверить.
jarsigner -verify TestApplet.jar
, который выдается «баночка проверенную»
Так почему же файл банка, как представляется, без знака, когда бежал из в веб-браузере, но подписан при проверке с Jarsigner?
Единственное, что я могу придумать, это то, что TestApplet.jar полностью игнорируется. Можно запустить апплет без указания параметра архива.
Ниже представлена структура файлов.
bin/TestApplet.class
bin/TestApplet.jar
index.html
Вот код, который я использую для добавления апплета java на веб-страницу.
<object type="application/x-java-applet" width="100" height="100">
<param name="codebase" value="bin" />
<param name="archive" value="bin/TestApplet.jar" />
<param name="code" value="TestApplet" />
</object>
EDIT: Если это делает никакой разницы, апплеты будет работать в локальной сети, который не подключен к Интернету.
Большинство браузеров считают, что «неподписанные» и «самоподписанные» - это одно и то же, поскольку у них нет способа проверить, что вы являетесь тем, кем вы говорите, с самоподписанным сертификатом. – aruisdante
Неподписанные и самоподписанные JAR более или менее устарели Oracle. Используя настройки безопасности по умолчанию, единственный способ запуска апплетов в браузере теперь - подписать их с помощью реального ЦС. – whiskeyspider
Вот один из источников их объявления о безопасности: https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias – user1071777