2016-02-23 5 views
2

Я переношу программу из JApplet в Java Web Start, и у меня проблемы с безопасностью. Моя программа подписана с сертификатом моей компании, и я также добавил свой сайт в список исключений в панели управления Java, но она по-прежнему дает мне эту ошибку:Ошибка Java Web Start.

enter image description here

Мой Java список исключений сайта:

enter image description here

Мой файл JNLP выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 

<jnlp spec="1.0+" codebase="http://10.13.3.68:8000/" 
     href="myapp.jnlp"> 
    <information> 
    <title>My app</title> 
    <vendor>My Company</vendor> 
    <description>My description</description> 
    </information> 
    <resources> 
    <j2se version="1.8+"/> 
    <jar href="myapp.jar" main="true"/> 
    <jar href="myappResources.jar"/> 

    </resources> 
    <application-desc 
     main-class="MainForm" 
    /> 
</jnlp> 

Я использую java 1.8.0_73. Файлы Jar были правильно подписаны jarsigner. Вы не знаете, как запустить приложение с помощью Web Start без этой ошибки? HTTP-сервер находится на моем локальном ПК. Когда я пробовал небольшие «Hello World», как приложения (они даже не были подписаны!) С JNLP - они работали. Я не знаю, почему я получаю ошибку в этой программе.

+0

Сертификат вашей компании, выданный ЦС, который известен вашей локальной установке JRE? – Neothorn

+0

Да, CA известен JRE. –

+0

Что предоставляет «Дополнительная информация»? –

ответ

1

После изменения моего баночку атрибуты файла манифеста:

Codebase: * 
Caller-Allowable-Codebase: * 

И добавив эти строки в мой файл JNLP:

<security> 
    <all-permissions/> 
    </security> 

Он начал работать.

Проблема заключалась в том, вероятно, что я имел

Permissions: all-permissions 

в моем файле манифеста, и я не имел надлежащего набор атрибутов в JNLP файле.

Вторая проблема заключалась в том, что я забыл изменить базу кода в файле манифеста - у меня был определенный IP-адрес, который я больше не использовал.

+0

Вам нужно добавить изменения манифеста во все банки? – Avec

+0

Я не знаю, обязательно ли это, но я проверил свое приложение, и в манифесте ресурсов есть «Codebase: *» и «Permissions: all-permissions». –

+0

Я обнаружил, что только баночка, содержащая основной класс, нуждается в конфигурации 'Codebase' и' Caller-Allowable-Codebase'. Во-вторых, вы можете ссылаться на все другие банки в том же файле манифеста, указав «Class-Path». – Avec

Смежные вопросы