Java Applet 數字簽名

Web應用使用Applet有時是一種不錯的選擇,例如在flex中加入特色上傳功能等就可將Applet做爲備選方案之一。而Applet需要訪問本地資源時需要得到客戶機器的認可,很自然我們會想到網絡知識中的數字簽名(digital signature)。而對java Applet的數字簽名較爲方便。

 

在數字簽名之前將我們編寫的Applet應用導出jar包,而後主要利用java se中提供的keytool.exejarsigner.exe工具,前者用於生成密鑰庫和導出證書,後者用於對Applet jar進行數字簽名。

 

進行簽名時,我們可以隨意找個目錄,將jar放入其中,而後從命令窗口進入該文件夾,依次如下圖所示執行相關命令,填入密碼信息。執行過程中,我們會發現對應目錄下面會產生一個密鑰庫文件(store尾綴)和一個證書文件(cert尾綴)。

 

 

上圖中,紅色陰影部分爲密鑰庫的名字,尾綴爲store;橙色陰影部分爲密鑰庫的別名;綠色陰影部分爲導出的證書,尾綴爲cert;藍色部分是我們手動導出並放入相應文件夾下的jar包。陰影部分讀者可自行命名。

 

第一次輸入的密鑰密碼,在後續導出證書和簽名jar包時都需要使用。第一步份生成密鑰時要求填寫的名字、單位等信息可以自由寫。

 

簽名完成後,則可以直接將數字簽名後的jar考入項目中使用。第一次加載applet時瀏覽器會要客戶確認該證書(如下圖所示)。客戶機用戶信任後即可訪問本地資源。

 

 

本文簡單引入Java數字簽名的工具及使用方式,讀者只需利用第一幅圖的內容即可完成對相應jar包的數字簽名,而後將jar文件考入項目即可直接應用。更多信息請參考下文連接。

 

參考:

 

數字簽名

http://baike.baidu.com/view/7626.htm

 

http://en.wikipedia.org/wiki/Digital_signature

 

Java Applet digital signature

http://www.cnblogs.com/tqsummer/archive/2011/01/19/1939013.html

http://blog.csdn.net/shangdyu/article/details/6992568

http://blog.csdn.net/border1985/article/details/666710

 

https://www.owasp.org/index.php/Digital_Signature_Implementation_in_Java

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章