Java-апплет - всплывающее предупреждение о безопасности LiveConnect
Мы видим предупреждение о безопасности LiveConnect в нашем приложении, даже если апплет подписан, а атрибут Caller-Allowable-Codebase установлен:
Вторая проблема заключается в том, что в полях "Приложение" и "Издатель" в IE, FF и Chrome установлены значения "НЕИЗВЕСТНО". Кажется, что первая отображаемая информация о безопасности извлекает информацию из сертификата.
Мой файл манифеста:
Manifest-Version: 1.0
Implementation-Vendor: xxx xxx Buildings AB
Implementation-version: 1.5.0.49829
Application-Library-Allowable-Codebase: *
Application-Name: Building Operation WebStation
Permissions: all-permissions
Created-By: 1.7.0 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Specification-Version: 1.0
Codebase: *
Я прочитал сообщение в блоге Oracle об изменениях безопасности с LiveConnect.
Я также попытался добавить атрибут Application-Library-Allowable-Codebase: * безуспешно. Кажется, что это даже не имеет никакого значения в руководстве по атрибутам безопасности.
Если этот флажок ничего не делает, в следующий раз, когда мы перейдем к апплету, снова появится предупреждение.
jarsigner.exe выводит "проверенный jar".
Изучение сертификата, которым мы подписываем, показывает всю цепочку - наша компания> RapidSSL CA > GeoTrust Global CA. Я импортировал сертификат в несколько хранилищ сертификатов Windows, хотя достаточно подписать его доверенным корневым центром сертификации.
Мы тестируем последнюю версию JRE и получаем тот же результат с JRE 8 Java Plug-in 10.67.2.01 Использование JRE версии 1.7.0_67-b01 Java HotSpot(TM) Client VM
Кто-нибудь знает
- как избавиться от всплывающего окна, все еще разрешая звонки LiveConnect?
- если нет, как заполнить два НЕИЗВЕСТНЫХ поля в диалоговом окне?
1 ответ
Причина, по которой вы получаете первое всплывающее окно (предупреждение LiveConnect), заключается в том, что вы использовали подстановочный знак *
для Caller-Allowable-Codebase
:
Caller-Allowable-Codebase: *
Возможно, вам придется заменить *
с именем домена или IP-адресом, где расположены файлы JavaScript.
Вам, вероятно, нужно сделать что-то подобное с codebase
атрибут также.
Посмотрите Атрибут Codebase для получения дополнительной информации об этом атрибуте.
Атрибут Caller-Allowable-Codebase
См. Атрибут Codebase для описания допустимых значений. Если в качестве значения атрибута Caller-Allowable-Codebase указана отдельная звездочка (*), то вызовы из кода JavaScript в вашу RIA показывают предупреждение безопасности, и пользователи имеют возможность разрешить или заблокировать вызов. Также предоставляется возможность запомнить выбор, и, если он выбран, предупреждение больше не отображается при запуске RIA.
Атрибут исходной кодирующей базы данных
Манифест Java-апплета - Разрешить все Caller-Allowable-Codebase
Удаление атрибута Trusted-Library, по-видимому, является обязательным условием для работы Caller-Allowable-Codebase, без предупреждений. Однако это нарушает Java 7 Update 21 - 40, в котором код JavaScript, который вызывает код в подписанном апплете, работающем со всеми разрешениями, как смешанный код и диалоговые окна с предупреждениями появляются, если подписанные файлы JAR не помечены атрибутом Trusted-Library=true.
Манифест исходного Java-апплета - Разрешить все Caller-Allowable-Codebase, ответ Nikolas Pooch