2014-06-10 4 views
4

Это просто указал мне, что приложения Java Web Start из моего блога, например, мой Key Bindings вход, больше не работает из-за ошибки последующей безопасности:Java Web Start и безопасности

enter image description here

Проведя некоторое исследование, я решил, что безопасность улучшена в JDK7 и что значение по умолчанию, найденное на Security TabJava Control Panel, найденное на Windows Control Panel, установлено в High, что предотвращает запуск приложения. Если вы измените этот параметр на Medium, у вас есть выбор, чтобы принять приложение, и оно будет работать. Я предполагаю, что большинство людей не захотят этого делать, поэтому мне кажется, что мне нужно будет sign my jar file.

Проблема в том, что я действительно не понимаю весь процесс подписания.

В настоящее время я начинаю с создания .jar файл с помощью следующей команды:

jar cfev KeyBindings.jar KeyBindings KeyBindings*.class 

Затем я создаю файл .jnlp следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<!-- JNLP File for KeyBindings --> 

<jnlp spec="1.0+" 
    codebase="http://www.camick.com/java/webstart/" 
    href="KeyBindings.jnlp"> 
    <information> 
     <title>KeyBindings Application</title> 
     <vendor>Tips4Java</vendor> 
     <homepage href="http://tips4java.wordpress.com/"/> 
     <description>KeyBindings Application</description> 
     <description kind="short">Display the Key Bindings of Swing components</description> 
     <offline-allowed/> 
    </information> 
    <resources> 
     <j2se version="1.6+"/> 
     <jar href="KeyBindings.jar"/> 
    </resources> 
    <application-desc main-class="KeyBindings"/> 
</jnlp> 

, Jar и .jnlp Файлы загружается на сервер, а приложение Web Start запускается с использованием следующего HTML:

<a href="http://www.camick.com/java/webstart/KeyBindings.jnlp">...</a> - Using Java Web Start (JRE 6 required) 

Может ли кто-нибудь показать мне, дополнительные шаги, которые мне потребуются, чтобы создать доверенное приложение (или подписанное приложение, независимо от правильной терминологии).

В настоящее время я не использую IDE для приложений Java Web Start. У меня есть Eclipse, но я никогда не использовал его. Было бы лучше попытаться использовать Eclipse для создания подписанного файла .jar?

Update:

Процесс сложнее и дороже, чем я думал. Я не хочу платить Сертификат, чтобы подписывать мои .jar-файлы. Кроме того, я в настоящее время использую бесплатный веб-хостинг-сайт, который не поддерживает SSL, поэтому я не смог бы использовать подписанные .jar-файлы в любом случае, поскольку я не хочу найти новый хостинг-сайт.

Поскольку я только делаю свой блог для удовольствия, я не хочу брать на себя дополнительные расходы на использование подписанных .jars, поэтому я думаю, мне придется найти другой способ продемонстрировать код.

С благодарностью.

ответ

4

Ваш апплет должен быть подписан известным центром сертификации (CA).

Вы можете использовать любой из них (Digicert, Thawte, Verisign, и т.д ...)

КАН будут инструкции о том, как вы идти о получении вашего файла банку подписан.

Вот документация от Digicert:

Java Code Signing Certificate Guide - Digitally Sign Code for Java Applets with Integrated Identity Assurance

+2

Ответ также действителен для Java Web Start не только для апплетов, как указано в ответе – mschenk74

+0

Процесс, если более дорогостоящий, чем я понял, поэтому я не буду продолжать, но, по крайней мере, я думаю, что я понимаю процесс немного лучше , См. Мое обновление. Благодарю. – camickr

3

Используя подход, изложенный here, я по-прежнему развертывать приложения Swing, с открытым исходным кодом от доверенного сайта с помощью собственного сертификата.Проверка SHA1 fingerprint гарантирует, что я получаю подписанный JAR, без обеспечения безопасности. Это моделирование Subway является полным примером.

+0

действительно ли это работает с последними версиями Java 7 и Java 8 (JVM Oracle)? – mschenk74

+0

Протестировано на Mac OS X 10.9, Java 7. – trashgod

+1

+1, я поиграл с безопасностью Java и нашел все, что мне нужно было сделать, это установить среду безопасности, и она работала даже без самоподписанного сертификата. Я могу оставить это в качестве (документированного) варианта для пользователей блога. См. Мое обновление. Благодарю. – camickr

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