Java沙箱是運行Java小應用程序的一個軟件單元,對Java小應用程序的訪問權限加以限制,防止它訪問計算機的關鍵部分,如磁盤驅動器、網絡套接口和內存區等。jDK的 security API 提供對小應用程序進行數字簽名來達到和application 一樣的安全。
客戶端打印采用applet會訪問打印機,數字簽名就成了必須,下面我們來看看如何制作數字簽名:
JDK的keytool命令是安全鑰匙和證書的管理工具,我們常用的命令如下:
-genkey 產生密鑰文件,文件中包含用戶的公鑰、私鑰和證書
-alias 產生別名
-keystore 指定密鑰倉庫名稱
-validity 指定創建的證書有效期多少天
-storepass 指定密鑰庫的密碼
-dname 指定證書擁有者信息 例如: "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list 列出系統證書倉庫中存在證書名稱列表
-export 將別名指定的證書導出到文件 keytool -export -alias caroot -file caroot.crt
-file 參數指定導出到文件的文件名
-delete 刪除系統證書庫的證書
-import 導入證書到密鑰倉庫
以下是生成客戶端證書、并對jasperreports-3.0.1-applet.jar 包做簽名的命令:
keytool -genkey -validity 1800 -keystore applet.store -alias applet
keytool -export -keystore applet.store -alias applet -file applet.cer
jarsigner -keystore applet.store jasperreports-3.0.1-applet.jar applet
根據提示輸入相關信息及密碼即可完成簽名的制作,此時applet在第一次訪問時瀏覽器會提示簽名信息,至此整個客戶端可以安全的訪問了。
時間倉卒,介紹的不是很詳細 關于keytool工具的時候網上有很多,也比較詳細,本文僅是對客戶端applet打印的一點補充。
posted on 2009-12-16 20:36
凌晨風 閱讀(2877)
評論(3) 編輯 收藏 所屬分類:
iReport + JasperReport 系列