После обновления Java до Java 8 update 25
Средний уровень безопасности был удален из панели управления Java. Я ТА и мне нужно просматривать много сайтов от студентов. Эти сайты содержат Java-апплет, и они просто различаются по портам, таким как 1.1.1.1:8001
, 1.1.1.1:8002
, 1.1.1.1:8003
и так далее.
Теперь каждый раз, когда я открываю страницу одного ученика, Java-апплет отключен из-за уровня безопасности. После добавления http://1.1.1.1:8001
в список Exception Site List
я могу успешно запустить апплет на 1.1.1.1:8001
. Однако он не поддерживает подстановочные знаки. Так нужно ли добавлять все сайты по одному вручную? Я считаю, что это очень больно!
Любая помощь приветствуется! Спасибо большое!
2 ответа
От Oracle.com »Список исключений сайта
Подстановочные знаки не поддерживаются. Если указан только домен, разрешается запуск любой RIA из этого домена. Домен может иметь несколько записей, например, https://www.example.com и http://www.example.com.
Номер порта требуется только в том случае, если порт по умолчанию не используется.
Это означает, что вы правы, что нет другого способа, кроме добавления каждого site:port
по одному.
Но вы можете использовать набор правил развертывания
Я суммирую шаги, но вы все равно должны прочитать полное руководство
Создайте текстовый файл в кодировке ANSI и назовите его
ruleset.xml
Создайте свой контент и добавьте любой
site:port
вам нужен. Кажется, здесь можно использовать подстановочные знаки.<ruleset version="1.0+"> <rule> <id location="http://1.1.1.1:*" /> <action permission="run" /> </rule> <rule> <id /> <action permission="block" /> </rule> </ruleset>
Загрузите Java JDK, скопируйте файл ruleset.xml в папку bin в месте установки JDK, где находится файл jar.exe.
Откройте командную строку и перейдите в папку jar.exe и ruleset.xml. Введите в этой команде:
jar -cvf DeploymentRuleSet.jar ruleset.xml
Теперь вам нужно подписать набор правил развертывания. Для этого вам нужно хранилище ключей Java с сертификатом, которому доверяют на вашем компьютере.
Один из способов создания хранилища ключей - использовать keytool.exe, который находится в
C:\Program Files\Java\jre6\bin
вместе с этой командой.keytool -genkey -keyalg RSA -alias самоподписанный -keystore keystore.jks -storepass пароль -valid 360 -keysize 2048
Чтобы извлечь сертификат из хранилища ключей, используйте
keytool -exportcert -keystore keystore.jks -alias selfsigned -file Cert.cer
И затем вы можете установить этот сертификат в доверенный корневой центр сертификации (Руководство)
Если ваш сертификат имеет расширение
.pfx
, просто переименуйте его в.p12
Используйте keytool для импорта файла
.p12
Keytool -importkeystore -deststorepass пароль -destkeystore Keystore.jks -srcKeystore Cert.p12 -srcstoretype pkcs12 -srcstorepass пароль
Вы хотите изменить -srcstorepass на пароль вашего сертификата
Вы должны получить что-то, что говорит "Вход для псевдонима ...". После слова alias - псевдоним хранилища ключей, который вам понадобится. (длинный GUID)
Теперь, когда у вас есть хранилище ключей с доверенным сертификатом, вы можете использовать его для подписи файла JAR.
Для этого откройте командную строку в папке jdk bin и введите:
jarsigner -verbose -keystore keystore.jks -signedjar DeploymentRuleSet.jar DeploymentRuleSet.jar selfsigned
Измените "selfsigned" на псевдоним, который вы имели с шага 7
Теперь поместите файл
DeploymentRuleSet.jar
в один из следующих каталогов:- Windows:
c:\Windows\Sun\Java\Deployment.
- Mac, Linux, Unix:
/etc/.java/deployment
- Windows:
Вот и все. Полегче, а?
Вы можете проверить, установлен ли DeploymentRuleSet, перейдя в консоль Java на панели управления и нажав вкладку безопасности. Нажмите «Просмотреть активный набор правил развертывания».
источники
- http://ephingadmin.com/administering-java/
- http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/deployment_rules.html
Обратите внимание, что
Если в системе установлен активный набор правил развертывания, правила развертывания имеют приоритет над списком сайтов исключений.
Не думайте, что вы можете использовать подстановочный знак для номера порта в наборе правил. Согласно документации Oracle, номер порта должен точно совпадать.