国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java2下Applet數字簽名具體實現方法

2019-11-18 15:39:00
字體:
來源:轉載
供稿:網友

  我的項目是使用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中輸入:

http://URL:7001/*

  其中的URL是服務器的ip地址,7001是我的weblogic的端口,假如你是在別的應用服務器上比如說是apache,那端口號就可以省略掉。

  在SignedBy中輸入(別名alias):這兒是Monitor然后單擊add peimission按鈕,在出現的對話框中permission中選擇你想給這個applet的權限,這兒具體有許多權限,讀者可以自己找資料看看。我這兒就選用allpeimission,右邊的signedBy中輸入別名:monitor
最后保存,在file菜單的save項。

  當然你可以看見我已經對多個包實現了簽名認證。

  這樣客戶端的設置就完成了。在客戶端用ie運行該applet程序時,會詢問你是不是對該簽名授權,選擇授權后,包會自動從服務器下載到本地計算機,而且ie會自動啟動jre,在右下欄中可以看見,相當于ie的java控制臺。

  4.調用applet的html文件  

  大家都知道由于java2的安全性,對applet的正常調用的html文件已經不能再使用了,而改為ActiveX類型的調用。具體的又分ie和nescape的不同寫法,這一些在sun網上都能找到現成的教程。我就不多說了,只是將我的這個小程序為ie寫的的html給大家看看。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松溪县| 松滋市| 民乐县| 永清县| 通州市| 隆德县| 白山市| 休宁县| 保康县| 大英县| 松潘县| 昌都县| 新津县| 西峡县| 天峨县| 芦溪县| 襄汾县| 长顺县| 大丰市| 美姑县| 勃利县| 辰溪县| 陇西县| 崇明县| 湖南省| 大厂| 固阳县| 佳木斯市| 宁夏| 宣威市| 建水县| 项城市| 荆州市| 辉南县| 南江县| 四平市| 安阳市| 斗六市| 阜城县| 瑞安市| 涿州市|