2

我有一個Java小程序,它不需要任何特殊權限即可運行(即在沙箱中運行正常),但希望用戶輸入一些敏感信息。因此,我希望用戶能夠驗證小程序的來源。區分已簽名的Java小程序

然後我簽署了小程序,並且一切似乎都正常工作。瀏覽器顯然接受簽名;出於測試目的,我試着執行PrivilegedActions並且一切正常。但是,瀏覽器不會通知用戶瀏覽器已簽名 - 從用戶的角度來看,小程序的無符號和已簽名版本看起來完全相同。

所以我的問題是:有沒有辦法指示瀏覽器向用戶提供簽名權限,或類似的東西?

回答

2

首先,這不是簽署罐子的有效用法

你有沒有在某個時刻忘記取消總是信任tickbox?

回到第一點,因爲它非常重要。通過簽署一個jar文件,你將證書的名稱放在聲明它是安全的。請注意,安全比非惡意廣泛得多。如果遇到任何代碼,就會彈出一個安全對話框,詢問用戶是否希望提供完整的本地用戶訪問權限。這並不意味着某些特定的像素集來自於一個簡單的來源。

正確的做法是使用https。

+0

Doh!你是對的,「永遠相信」是默認打開的,我忘了解決它。使用https的問題在於我想允許第三方傳播該applet,但不一定信任輸入到applet中的敏感信息。有關如何實現這一點的建議(允許傳播+防止篡改)? – oggy 2010-08-24 12:11:21

+0

自己簽名applet是確保它不是惡意的唯一方法。一種選擇可能是使用業務邏輯類對JAR進行簽名,並創建一個也將被簽名的小程序。將applet(或未簽名的applet)的源代碼提供給第三方,但將JAR的業務邏輯與您簽署。通過這種方式,第三方不會更改您的代碼,但可以爲applet呈現自己的簽名。 – 2010-08-24 12:48:21

+0

@Eugene:但是,用戶如何驗證帶有業務邏輯的JAR是由我簽名的呢? – oggy 2010-08-24 13:24:49