2013-12-18 5 views
2

У меня есть приложение Java, которое запускается из файла jnlp с сайта. Я пытаюсь запустить его, не разгромив кучу предупреждений о безопасности, прежде чем он запустится.Как опубликовать приложение Java Web Start jnlp без предупреждений безопасности?

Программа разбита на примерно 10 различных файлов jar, 30 или около того jar-библиотек и пару собственных библиотек, также содержащихся в файлах jar.

Я подписал все файлы jar с официальным сертификатом подписания кода (из Verisign), включил jnlp-файл внутри файла jar, который содержит основной класс, и добавил атрибуты разрешений и кодовой базы в основные 10 банок что я компилирую.

Когда я запускаю программу, я получаю сообщение о том:

Это приложение будет блокироваться в будущем обновлении безопасности Java потому что JAR файл манифест не содержит разрешение атрибут. Для получения дополнительной информации обратитесь к издателю.

я могу нажать кнопку «Выполнить», чтобы пройти это сообщение, но потом я получаю:

Блока потенциально опасные компоненты из бегутся? Приложение содержит как подписанный, так и неподписанный код.

Я добавил атрибут разрешений ко всем файлам jar, которые я компилирую. Нужно ли обновлять манифест jar для сторонних библиотек, которые я использую? Если да, есть ли простой способ сделать это? Я использую Apache Ant для создания приложения.

ответ

0

Да, вы должны обновить все банки
Вы можете добавить эти свойства непосредственно в манифест файлов JAR (все баночки) из файла -

В каталоге плагинов:

jar ufm <jar_file> additionalAttribute.txt 

Это additionalAttribute.txt будет содержать дополнительный атрибут манифеста, как -

Permissions: all-permissions 
Codebase: * 
Application-Name: My App 
Caller-Allowable-Codebase: * 
Trusted-Library: true 
Application-Library-Allowable-Codebase: * 
0

Нужно ли обновлять манифест jar для сторонних библиотек, которые я использую?

Да. Все части, все банки наших приложений имеют одинаковые требования безопасности.

+0

Есть ли простой способ добавления этих атрибутов манифеста с помощью сборки Ant? Я знаю, как это сделать, когда я создаю банку, но это уже существующие банки. – Austin