2010-09-13 37 views
1

我開發了一個小程序。但是,當我的瀏覽器從網絡服務器獲取它時,它會彈出一個安全交戰。我不希望這個消息來。意味着applet應該運行,而不會讓最終用戶感受到滲透。我怎樣才能做到這一點?我需要讓我的小程序被簽名嗎?如果是的話,我從哪裏可以得到它簽名?創建它的代價是多少?小程序的安全問題

回答

0

您的描述可能與一些問題有關,例如代碼嘗試做需要信任的事情。在這種情況下聽起來並不像這種情況。如果未簽名的代碼試圖執行需要信任的事情,它不會在啓動時提示用戶,但在嘗試執行受信任的操作時(例如,在以後的JRE中跨站點訪問)提示他們,或者僅憑失敗發生AccessControlException或類似。

這可能是因爲你的applet使用了多個Jars,並且遇到了Java 1.6.0_20中引入的mixed code restrictions。但是,症狀聽起來並不完全正確。

您的applet是否公開可用?我/我們可以訪問的URL是什麼?另外,如果你的applet試圖跳出安全沙箱,那麼它必須是可信的。這意味着代碼必須經過數字簽名,並在提示時由最終用戶確定。沒有其他辦法了。

但它不需要CA頒發的代碼簽名證書。您可以使用SDK的工具推出自己的代碼簽名證書。我有一些小的演示。在簽署代碼之前編譯和構建代碼的代碼項目。

+0

@ andrew.Thanks.Can您可以與我共享代碼簽名工具嗎? – akp 2010-09-13 13:01:43

+0

代碼簽名工具是JDK/SDK的一部分。 – 2010-09-13 13:05:43

+0

對於演示,請嘗試演示中提供的filetest.zip。 JNLP API FileContents對象(1)。 build.xml應該可以在任何現代IDE中生成和運行(E.G. Eclipse,Netbeans ..)查看build.xml以瞭解如何執行它。 1)http://pscode.org/jws/api.html#fs – 2010-09-13 13:09:11

0

您需要獲得代碼簽名證書。如果你想避免所有的警告,可能是由一些「知名」的CA。證書本身花錢,但一旦擁有了它,您就可以使用它來簽署儘可能多的applet(您自己簽署)。