2014-06-10 392 views
4

這只是向我指出的,從我的博客中的Java Web Start應用程序,例如我Key Bindings項,因爲後續的安全性錯誤不再起作用:Java Web Start和安全

enter image description here

在做一些調查中,我已經確定,安全已經在JDK7和上的Windows Control Panel發現Java Control PanelSecurity Tab中的默認設置爲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文件會更好嗎?

更新:

該過程比我想象的更加複雜和昂貴。我不想支付證書頒發機構簽署我的.jar文件。此外,我目前使用的是不支持SSL的免費虛擬主機網站,因此我無法使用簽名的.jar文件,因爲我不想找到新的託管網站。

因爲我只做我的博客的樂趣,我不想承擔使用簽署.jar文件的額外成本,所以我想我會找到一個不同的方式顯示的代碼。

感謝幫助。

回答

4

你的小應用程序必須由一個衆所周知的證書頒發機構(CA)簽署。

你可以使用其中的任何(Digicert,Thawte的,威瑞信,等...)

的核證機關將對你如何讓你的jar文件簽名的說明。

這裏是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(Oracle JVM)一起使用? – mschenk74

+0

測試在Mac OS X 10.9,Java 7中 – trashgod

+1

+1,我也玩的Java安全性,發現所有我需要做的是設置安全到中等,甚至沒有一個自簽名證書,它的工作。我可以將此作爲(記錄)的選項留給博客的用戶。查看我的更新。謝謝。 – camickr