Подтвердить что ты не робот

Предупреждение опиралось на атрибут Caller-Allowable-Codebase, который не показан всегда

У меня есть следующая информация манифеста в подписанном Java-апплете. Моя среда сборки устарела и в настоящее время ограничена JDK 1.6.

Manifest-Version: 1.0
Implementation-Vendor: Foo, Inc.
Application-Library-Allowable-Codebase: * 
Application-Name: FooBar
Permissions: all-permissions 
Sealed: true 
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Codebase: https://*

В соответствии с документация по Java -

Если автономная звездочка (*) или звездочка, используемая с верхним уровнем домен, такой как *.org, указан как значение для Атрибут Caller-Allowable-Codebase, затем вызовы из кода JavaScript на ваш RIA появится предупреждение о безопасности. У пользователей есть выбор, позволяющий вызов или блокировка вызова. Возможность запоминать выбор также предоставлена. Если пользователь решил запомнить этот выбор, предупреждающие сообщения отображаются для одного и того же RIA, когда он принимает вызовы из кода JavaScript из того же источника.

Java script код в моем веб-приложении использует код возврата из апплета для отображения соответствующего статуса на портале. Отображаемые сообщения различаются в зависимости от возвращаемого кода состояния. Но для этого должно появиться окно предупреждения Java. В Firefox v51 и JRE 1.8.121 это окно предупреждения появляется иногда. Когда этого не происходит, связь между JavaScript и Applet отсутствует. Что может быть проблемой, что окно предупреждения не появляется все время?

4b9b3361

Ответ 1

Я использую один и тот же метод live connect для связи между апплетом и Javascript. В течение последних нескольких лет я сталкивался с множеством различных предупреждающих экранов от JRE6u45 до текущего JRE8u131. Это зависит от того, с какого экрана вы сталкиваетесь.

Вы использовали Firefox каждый раз? Firefox не поддерживает плагин Java с определенной версии см. Здесь. FYI, Chrome и MS Edge не поддерживают Java-апплет. Проверьте, не используете ли вы их.

Атрибут Caller-Allowable-Codebase не должен вызывать никаких предупреждений. Он должен заблокировать выполнение апплета, если он не включает домен правильно. Не должно быть предупреждающего сообщения, которое позволит вам запускать.

Как правило, большинство предупреждающих экранов поступают из JRE вместо браузера. Поэтому вы также можете проверить следующие пункты:

  • сертификат подписания кода действителен и не истек.
  • Перейдите в панель управления Java, очистите кеш апплета (вкладка "Общие" )
  • Включено включение содержимого Java (вкладка "Безопасность" )
  • Восстановить подсказки безопасности (вкладка "Безопасность" )
  • Включить смешанный код, чтобы показать предупреждение, если необходимо (вкладка "Дополнительно" )
  • Включить ведение журнала и трассировку, показать консоль Java (панель управления Java → вкладка Безопасность)

Просьба предоставить более подробные экранные или предупреждающие сообщения.