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