2011-03-20 45 views
1

我正在把我的jar文件讀寫到一個applet中。它顯示正確,直到我添加了讀寫功能。然後,Firefox只顯示一個黑匣子(沒有錯誤的彈出窗口)。在一個applet中讀寫文件

我已經做了大量的研究,它似乎爲了得到它的工作我需要有小程序簽名,然後它會要求用戶的權限,但我也讀了,我不能讓一個小程序寫文件,它必須是服務器端。

所以我的問題是我可以讓一個小程序讀取和寫入文件沒有嚴重的側面腳本? 如果是這樣,我怎麼讓我的小程序簽名(我讀了一些教程,但我有點新)。

回答

2

已簽名的小程序可以在本地機器上讀取和寫入文件。

您可以使用兩種類型的證書,第一種是使用keytool創建的證書,這是JDK附帶的應用程序。第二種選擇是使用Verisign等證書頒發機構的證書對小程序進行簽名。

區別在於自制證書會向客戶端顯示警告消息,指定證書不受信任。這只是一個警告,但可以嚇倒用戶。來自真正的證書頒發機構的證書的缺點是它需要花費。

生成證書使用 密鑰工具-genkey

然後來進行數字簽名,這取決於你如何建立你的小程序。

例如,如果您使用Ant,則會有一個signjar任務來簽署applet。

+0

@」不同之處在於自制證書將向客戶端顯示警告消息,指定證書不可信。「這個聲明暗示了我可信的證書。自發獲取,這是不準確的。已驗證的證書仍然會提示用戶接受代碼,但對話框「不太可怕」,表明源已驗證,並且「始終信任」複選框默認爲true(我記得最好對話框可信證書)。 – 2011-03-20 07:57:07

+0

謝謝你解決了很多! – User1 2011-03-20 08:02:48

+0

@Andrew是的,同意了,謝謝澄清。 – MeBigFatGuy 2011-03-20 16:55:15

2

所以我的問題是我可以讓一個小程序讀取和寫入文件沒有嚴重的側面腳本?

當然,在1.6.0_10 +(1)JRE('下一代'插件)中,它甚至不需要對Jars進行數字簽名。

在下一代中使用Java Web Start部署的小程序。插件可以訪問JNLP API服務。 API的FileContents對象提供基本的I/O。這是一個demo. of using the FileContents(該鏈接也提供了該來源)。

(1)注意:自Java 1.2以來,JWS可以啓動自由浮動小程序。但用1.6.0_10 +一個JWS小程序可以保持嵌入瀏覽器窗口(對於Win。& * nix至少 - 我聽說'沒有Mac。')。 「