當前位置:名人名言大全網 - 短信平臺 - Java2下Applet數字簽名實現方法

Java2下Applet數字簽名實現方法

Java2下Applet數字簽名具體實現方法我的項目是使用APPLET制作壹個實時消息隊列監控程序,由於涉及到了本地資源,對APPLET壹定要進行數字簽名和認證。我使用的環境是WINDOWS2000,應用服務器是WEBLOGIC6.0,開發環境是JBUILDER4.0。之前我提醒大家壹定要註意服務器端和客戶端的概念。那些文件應該在服務器端,那些文件應該在客戶端。

首先在客戶端使用JRE1.3.0_01(JAVA運行環境1.3.0.1版本)以取代IE的JVM(JAVA虛擬機),可以到www.JAVA.SUN.COM網站上去下載,下載好了先在客戶端安裝好,安裝過程非常簡單。

在服務器端的調用APPLET的HTML文件中也需要將它包含進來,以便沒有事先安裝JRE的客戶端下載,具體的寫法,請接著往下看;

具體步驟如下:

服務器端:

1.將程序需要用到的各種包文件全部解壓(我這兒要用到WEBLOGIC的JMS包使用命令jar xf weblogicc.jar),然後使用JDK的打包命令將編譯好的監控程序.class和剛才解壓的包壹起打包到壹個包中。(前提我已經將監控程序和解開的包都放在同壹個目錄下了),都是dos狀態下的命令,具體命令見jdk1.3(1.2)的bin目錄下,

命令如下:

jar cvf monitor.jar *.class

此命令生成壹個名為monitor.jar的包

2.為剛才創建的包文件(monitor.jar)創建keystore和keys。其中,keystore將用來存放密匙(private keys)和公***鑰匙的認證,alias別名這兒取為monitor。

命令如下:

keytool -genkey -keystore monitor.keystore –alias monitor

此命令生成了壹個名為monitor.keystore的keystore文件,接著這條命令,系統會問妳好多問題,比如妳的公司名稱,妳的地址,妳要設定的密碼等等,都由自己的隨便寫。

3.使用剛才生成的鑰匙來對jar文件進行簽名

命令如下:

jarsigner -keystore monitor.keystore monitor.jar monitor

這個命令將對monitor.jar文件進行簽名,不會生成新文件。

4.將公***鑰匙導入到壹個cer文件中,這個cer文件就是要拷貝到客戶端的唯壹文件 。

命令如下:

keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer

此條命令將生成monitor.cer認證文件,當然這幾步都有可能問妳剛才設置的密碼。這樣就完成了服務器端的設置。這時妳就可以將jar文件和keystore文件以及cer文件(我這兒是monitor.jar,monitor.keystore,monitor.cer)拷貝到服務器的目錄下了,我用的是weblogic6.0,所以就拷貝到C:\bea\wlserver6.0\config\mydomain\applications\DefaultWebApp_myserver下的自己建的壹個目錄下了。

客戶端:

1. 首先應該安裝jre1.3.0_01,然後將服務器端生成的monitor.cer 文件拷貝到jre的特定目錄下,我這兒是:

c:\program files\javasoft\jre\1.3.0_01\lib\security目錄下。

2. 將公***鑰匙倒入到jre的cacerts(這是jre的默認keystore)

命令如下:

keytool -import -alias monitor -file monitor.cer

-keystore cacerts

註意這兒要妳輸入的是cacerts的密碼,應該是changeit,而不是妳自己設定的keystore的密碼。

3. 修改policy策略文件,在dos狀態下使用命令 policytool

系統會自動彈出壹個policytool的對話框,如圖4所示,在這裏面首先選擇file菜單的open項,打開c:\program files\javasoft\jre\1.3.0_01\lib\security目錄下的java.poliy文件,然後在edit菜單中選擇Change keystore ,在對話框中new keystore url:中輸入

file:/c:/program files /javasoft/jre/1.3.0_01/lib/security/cacerts, 這兒要註意反斜杠,在new keystore type 中輸入JKS,這是cacerts的固定格式,然後單擊Add Policy Entry,在出現的對話框中CodeBase中輸入:

/advance/520330.html