麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > JSP > 正文

Java2下Applet數(shù)字簽名

2024-09-05 00:21:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

我的項(xiàng)目是使用APPLET制作一個(gè)實(shí)時(shí)消息隊(duì)列監(jiān)控程序,由于涉及到了本地資源,對(duì)APPLET一定要進(jìn)行數(shù)字簽名和認(rèn)證。我使用的環(huán)境是WINDOWS2000,應(yīng)用服務(wù)器是WEBLOGIC6.0,開(kāi)發(fā)環(huán)境是JBUILDER4.0。之前我提醒大家一定要注意服務(wù)器端和客戶(hù)端的概念。那些文件應(yīng)該在服務(wù)器端,那些文件應(yīng)該在客戶(hù)端。

  首先在客戶(hù)端使用JRE1.3.0_01(JAVA運(yùn)行環(huán)境1.3.0.1版本)以取代IE的JVM(JAVA虛擬機(jī)),可以到網(wǎng)站上去下載,下載好了先在客戶(hù)端安裝好,安裝過(guò)程非常簡(jiǎn)單。

  在服務(wù)器端的調(diào)用APPLET的HTML文件中也需要將它包含進(jìn)來(lái),以便沒(méi)有事先安裝JRE的客戶(hù)端下載,具體的寫(xiě)法,請(qǐng)接著往下看;

  具體步驟如下:

  服務(wù)器端:

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

  命令如下:

  jar cvf monitor.jar *.class

  此命令生成一個(gè)名為monitor.jar的包

  2.為剛才創(chuàng)建的包文件(monitor.jar)創(chuàng)建keystore和keys。其中,keystore將用來(lái)存放密匙(private keys)和公共鑰匙的認(rèn)證,alias別名這兒取為monitor。

  命令如下:

  keytool -genkey -keystore monitor.keystore –alias monitor

  此命令生成了一個(gè)名為monitor.keystore的keystore文件,接著這條命令,系統(tǒng)會(huì)問(wèn)你好多問(wèn)題,比如你的公司名稱(chēng),你的地址,你要設(shè)定的密碼等等,都由自己的隨便寫(xiě)。

  3.使用剛才生成的鑰匙來(lái)對(duì)jar文件進(jìn)行簽名

  命令如下:

  jarsigner -keystore monitor.keystore monitor.jar monitor

  這個(gè)命令將對(duì)monitor.jar文件進(jìn)行簽名,不會(huì)生成新文件。

  4.將公共鑰匙導(dǎo)入到一個(gè)cer文件中,這個(gè)cer文件就是要拷貝到客戶(hù)端的唯一文件 。

  命令如下:

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

  此條命令將生成monitor.cer認(rèn)證文件,當(dāng)然這幾步都有可能問(wèn)你剛才設(shè)置的密碼。這樣就完成了服務(wù)器端的設(shè)置。這時(shí)你就可以將jar文件和keystore文件以及cer文件(我這兒是monitor.jar,monitor.keystore,monitor.cer)拷貝到服務(wù)器的目錄下了,我用的是weblogic6.0,所以就拷貝到C:eawlserver6.0configmydomainapplicationsDefaultWebApp_myserver下的自己建的一個(gè)目錄下了。

  客戶(hù)端:

  1. 首先應(yīng)該安裝jre1.3.0_01,然后將服務(wù)器端生成的monitor.cer 文件拷貝到j(luò)re的特定目錄下,我這兒是:
  c:program filesjavasoftjre.3.0_01libsecurity目錄下。

  2. 將公共鑰匙倒入到j(luò)re的cacerts(這是jre的默認(rèn)keystore)

  命令如下:

  keytool -import -alias monitor -file monitor.cer
  -keystore cacerts

  注意這兒要你輸入的是cacerts的密碼,應(yīng)該是changeit,而不是你自己設(shè)定的keystore的密碼。

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

  系統(tǒng)會(huì)自動(dòng)彈出一個(gè)policytool的對(duì)話(huà)框,如圖4所示,在這里面首先選擇file菜單的open項(xiàng),打開(kāi)c:program filesjavasoftjre.3.0_01libsecurity目錄下的java.poliy文件,然后在edit菜單中選擇Change keystore ,在對(duì)話(huà)框中new keystore url:中輸入
  file:/c:/program files /javasoft/jre/1.3.0_01/lib/security/cacerts, 這兒要注意反斜杠,在new keystore type 中輸入JKS,這是cacerts的固定格式,然后單擊Add Policy Entry,在出現(xiàn)的對(duì)話(huà)框中CodeBase中輸入:

  :7001/*

  其中的URL是服務(wù)器的IP地址,7001是我的weblogic的端口,如果你是在別的應(yīng)用服務(wù)器上比如說(shuō)是apache,那端口號(hào)就可以省略掉。

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

  當(dāng)然你可以看見(jiàn)我已經(jīng)對(duì)多個(gè)包實(shí)現(xiàn)了簽名認(rèn)證。

  這樣客戶(hù)端的設(shè)置就完成了。在客戶(hù)端用ie運(yùn)行該applet程序時(shí),會(huì)詢(xún)問(wèn)你是不是對(duì)該簽名授權(quán),選擇授權(quán)后,包會(huì)自動(dòng)從服務(wù)器下載到本地計(jì)算機(jī),而且ie會(huì)自動(dòng)啟動(dòng)jre,在右下欄中可以看見(jiàn),相當(dāng)于ie的java控制臺(tái)。

  4.調(diào)用applet的html文件  

  大家都知道由于java2的安全性,對(duì)applet的正常調(diào)用的html文件已經(jīng)不能再使用了,而改為ActiveX類(lèi)型的調(diào)用。具體的又分ie和nescape的不同寫(xiě)法,這一些在sun網(wǎng)上都能找到現(xiàn)成的教程。我就不多說(shuō)了,只是將我的這個(gè)小程序?yàn)閕e寫(xiě)的的html給大家看看。

  <html>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=gb2312">
  <center>
  <h3>消息中心實(shí)時(shí)監(jiān)控平臺(tái)</h3>
  <hr>
  <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  width="900" codebase="http://192.168.2.217:7001/j2re-1_3_0_01-win-i.exe#Version=1,3,0,0">
  <PARAM VALUE="wise.monitor.applet.monitorApplet">
  <PARAM VALUE="monitor/classes">
  <PARAM VALUE="application/x-java-applet;version=1.3">
  <PARAM VALUE="monitor.jar" >
  <PARAM VALUE="true">
  </OBJECT>
  </center>
  </html>

  其中我要強(qiáng)調(diào)一點(diǎn),因?yàn)閍pplet每一次的改動(dòng)都需要重新打包簽名,手續(xù)非常繁瑣,所以在具體的實(shí)現(xiàn)中要將一些會(huì)變化參數(shù)放到html文件中來(lái),傳到applet中去,這一點(diǎn)網(wǎng)上文章好多,自己去看吧。

  另外一個(gè)就是有朋友問(wèn)我,那這樣不是太麻煩了,每一個(gè)客戶(hù)端都要進(jìn)行復(fù)雜的dos命令操作,我只能說(shuō)一目前我的水平只能將一個(gè)已經(jīng)做好的客戶(hù)端文件cer文件和java.policy以及cacerts文件直接拷貝到客戶(hù)端,當(dāng)然這也有缺陷,如果別人的計(jì)算機(jī)已經(jīng)有了認(rèn)證,就會(huì)丟失。就這些問(wèn)題我們可以一起探討。

  另外還有一點(diǎn)優(yōu)化,就是在打包的時(shí)候,我這兒只講了把所有要用的涉及到安全性的包和源程序到要打到一個(gè)包中。這樣如果包非常大的話(huà),會(huì)非常影響下載的速度,如果可以使用本地計(jì)算機(jī)的包就好了,這一點(diǎn)jre也做到了,具體的要到控制面板的jre控制臺(tái)上去設(shè)置。這個(gè)就留著讀者自己去摸索吧。

  結(jié)束語(yǔ)

  我發(fā)現(xiàn)網(wǎng)上java相關(guān)的資料非常少,中文的更少,所以希望自己能將一些小知識(shí)和大家共享,省掉許多重復(fù)的無(wú)用功。如果大家對(duì)這個(gè)問(wèn)題還有不清楚的地方,或者就這問(wèn)題相進(jìn)一步展開(kāi)討論的,請(qǐng)和我聯(lián)系,我的信箱是[email protected]。希望我們能共同進(jìn)步!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日韩视频在线观看免费视频 | 中国女警察一级毛片视频 | 在线播放中文 | 日本一区二区久久 | 羞羞视频免费网站男男 | 日韩精品久久久久久久九岛 | 欧美日韩精品不卡一区二区三区 | 免费观看高清视频网站 | 午夜亚洲影院 | 欧美日韩免费一区二区三区 | 久久精品日韩一区 | 黄色网页在线看 | 午夜激情视频免费 | 全黄裸片武则天一级第4季 九色p | 露脸各种姿势啪啪的清纯美女 | 在线成人精品视频 | 三级国产三级在线 | 国产精品久久久久久久久久久久久久久久 | 国产一级aa大片毛片 | 在线中文字幕网站 | 一区二区三区无码高清视频 | 粉嫩蜜桃麻豆免费大片 | 久久久日韩精品一区二区三区 | 欧美精品日日鲁夜夜添 | 国产黄色一区二区 | 国产精品hd免费观看 | 把娇妻调教成暴露狂 | 99热草| 免费香蕉成视频成人网 | 2021免费日韩视频网 | 成年人在线视频免费 | 欧美一区二区黄 | 久草在线综合网 | 国产超碰人人爽人人做人人爱 | 久久精品亚洲一区二区三区观看模式 | 一级网站片 | 黄色大片在线免费观看 | 九九热在线观看视频 | 国产资源在线免费观看 | 国内久久久久 | 7777在线观看 |