一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

數(shù)字簽證

 ~守護(hù)~ 2012-05-31

APPLET簽名

一、壓縮你的class類文件為jar包 
1.假設(shè)你的需要壓縮的類文件存在的包為:cn.mbq.test1和cn.mbq.test2 
2.進(jìn)入你的classes目錄(這里是在MyEclipse平臺(tái)里建一個(gè)web項(xiàng)目,類編譯后的文件是存放在classes文件夾里的),在DOS窗口中執(zhí)行命令:jar cf mytest.jar cn.mbq.test1 cn.mbq.test2 

這一步其實(shí)可以使用MyEclipse來(lái)打成jar包,只選擇需要的那些類就可以了。


3.執(zhí)行命令后你會(huì)在當(dāng)前目錄中找到mytest.jar文件,這個(gè)就是剛才生成的檔案文件。你可以修改它的后綴為rar,然后使用winrar壓縮程序打開它查看看是否正確。 
(說(shuō)明:正確的方法應(yīng)該是 jar cf mytest.jar cn/mbq/test1 cn/mbq/test2 )

二、使用keytool工具生成密匙庫(kù) 
1.keytool工具位于${java_home}/bin目錄下; 
2.在DOS窗口中執(zhí)行命令:keytool -genkey -keystore mytest.store -alias mbq 
注意:mytest.store 是你的密匙庫(kù)的名稱,可以隨意修改,后綴請(qǐng)不要修改! 
如果需要可以添加參數(shù)DOS命令
keytool -genkey -keystore mytest.store -alias mbq -validity 3650

-validity 3650 表示的是有效期是3650天,默認(rèn)情況是六個(gè)月有效期。
mbq 為別名,這個(gè)也可以改成自己的名稱 
3.執(zhí)行上述命令后,DOS窗口中會(huì)提示你輸入keystore的密碼、你的姓名、組織單位等等信息。這里要注意的是輸入密碼請(qǐng)記住,后面要用到的。在最后,我們輸入y確認(rèn)信息。然后再直接回車設(shè)置mbq的主密碼和store密碼一致即可! 


三、使用keytool工具導(dǎo)出簽名時(shí)用到的證書 
1.在DOS窗口中執(zhí)行命令:keytool -export -keystore mytest.store -alias mbq -file mbq.cert 
注意:mytest.store 就是第二步生成的密匙庫(kù)名稱 
mbq 也是在第二步中我們指定的別名 
mbq.cert 為我們生成的證書的名稱,可以自己修改名稱,注意后綴不要改 
2.命令執(zhí)行成功,我們會(huì)在當(dāng)前目錄下找到一個(gè)mbq.cert文件,這個(gè)就是我們剛才生成的證書。 


四、使用jarsigner工具簽名jar壓縮文檔 
1.jarsigner工具位于${java_home}/bin目錄下; 
2.在當(dāng)前DOS窗口中執(zhí)行命令:jarsigner -keystore mytest.store mytest.jar mbq 
注意:mytest.store 就是我們?cè)诘诙街猩傻拿艹讕?kù)名稱 
mytest.jar 就是我們這第一步壓縮的jar文檔 
mbq 是提供者的名稱,我們這里設(shè)置為我們的別名 
修改客戶端的程序是需要重新打包和簽名。

五、創(chuàng)建mytest.policy文件 
1.在當(dāng)前目錄下創(chuàng)建一個(gè)mytest.policy文件,其內(nèi)容如下: 
keystore"file:mytest.store","JKS"; 
grantsignedBy"mbq" 

permission java.io.FilePermission"<<ALLFILES>>","read"; 
}; 
2.這個(gè)文件的意思就是說(shuō)讓所有由mbq簽名的applet都可以對(duì)本地的所有文件進(jìn)行讀操作。 


六、歸檔文件 
通過(guò)上述的五個(gè)操作后,我們會(huì)在當(dāng)前目錄中找到如下幾個(gè)文件:mytest.jar-簽名后的jar文檔、mytest.store-密匙庫(kù)、 mbq.cert-證書、mytest.policy-訪問(wèn)策略文件。如果沒(méi)有這些文件,那么你的applet數(shù)字簽名過(guò)程就沒(méi)有正確的完成,請(qǐng)檢查上述的操作。以后,如果對(duì)打包的java文件做了修改,那么就需要重新簽名一次才可以! 


七、在網(wǎng)頁(yè)中運(yùn)行applet 
1.假設(shè)你的applet中的主啟動(dòng)類為:cn.test.TestApplet.class;整個(gè)前面生成的檔案文件、證書啊存儲(chǔ)在目錄:d:\test\myapplet下; 
2.建立一applet_test.html文件存放在任何目錄下都可以,然后內(nèi)容如下: 

 

Java代碼
  1. 1 <HTML>...</HTML><HTML>   
  2. 2 <BODY>...</BODY><BODY>   
  3. 3 <APPLET CODEBASE="d:\test\myapplet" CODE="cn.test.TestApplet.class" ARCHIVE="mytest.jar" WIDTH=200 HEIGHT=100 name="myapp">   
  4. 4 </APPLET>   
  5. 5 </BODY>   
  6. 6 </HTML>  


注意:其中的CODEBASE就是你的類的基礎(chǔ)目錄,CODE也就是你的APPLET的啟動(dòng)主類,ARCHIVE也就是簽名后的JAR文檔。 
2.然后在IE中打開該html文件,那么會(huì)看到IE提示你是否信任該插件,也就是說(shuō)我們的證書起作用了,然后確定運(yùn)行后,就可以在頁(yè)面上看到applet的運(yùn)行效果了。 

但是由于SUN和MS的問(wèn)題,目前IE并不支持最新的JRE,而是使用MS自己開發(fā)的JRE,所以這個(gè)也是影響APPLET發(fā)展壯大的一個(gè)原因。而且正是由于這個(gè)原因,SUN的java-plugin技術(shù)才會(huì)出現(xiàn)。使用SUN的java-plugin技術(shù)我們就可以在applet中使用最新的JAVA類庫(kù)了。由于IE在遇到APPLET標(biāo)簽的時(shí)候會(huì)調(diào)用自己的JRE,但是如果客戶機(jī)器上安裝的JRE不是我們想要的版本,那么就會(huì)出錯(cuò)了。所謂java- plugin技術(shù)就是利用IE的插件機(jī)制來(lái)制定我們想要的JRE,我們可以在IE中使用OBJECT標(biāo)簽來(lái)調(diào)用APPLET,這樣就不會(huì)引用MS的JRE 了,從而達(dá)到我們想要的效果,而且java-plugin技術(shù)不僅僅支持IE,還支持Navigator等瀏覽器。不過(guò)我們需要編寫比較復(fù)雜的HTML代碼了,但是這一且SUN已經(jīng)幫我們做到了,呵呵,在JDK1.4或更高的版本中SUN提供了一個(gè)HtmlConverter.exe工具來(lái)幫助將包含 applet標(biāo)簽的html轉(zhuǎn)換成包含OBJECT和EMBED標(biāo)簽的html代碼,該工具位于${java_home}/bin目錄下,對(duì)于1.4以前的版本該工具則是單獨(dú)提供的,不過(guò)現(xiàn)在幾乎都是1.4或1.5甚至更高版本的JDK了吧,呵呵。 

該工具很簡(jiǎn)單,是圖形化的工具,我們直接運(yùn)行即可。比如我將上面的包含applet的html轉(zhuǎn)換后(比如我選擇只支持IE的),其代碼變成了如下: 

Java代碼
  1. 01 <HTML>...</HTML><HTML>   
  2. 02 <BODY>...</BODY><BODY>   
  3. 03 <!--"CONVERTED_APPLET"-->   
  4. 04 <!-- HTML CONVERTER -->   
  5. 05 <object   
  6. 06      classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"   
  7. 07      codebase = "http://java./update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,3"   
  8. 08      WIDTH = 200 HEIGHT = 100 NAME = "myapp" >   
  9. 09      <PARAM NAME = CODE VALUE = "cn.test.TestApplet.class" >   
  10. 10      <PARAM NAME = CODEBASE VALUE = "d:\test\myapplet" >   
  11. 11      <PARAM NAME = ARCHIVE VALUE = "mytest.jar" >   
  12. 12      <PARAM NAME = NAME VALUE = "myapp" >   
  13. 13      <param name = "type" value = "application/x-java-applet;version=1.5">   
  14. 14      <param name = "scriptable" value = "false">   
  15. 15 </object>   
  16. 16 <!--   
  17. 17 <APPLET CODEBASE="d:\test\myapplet" CODE="cn.test.TestApplet.class" ARCHIVE="mytest.jar"   
  18. 18 WIDTH=200 HEIGHT=100 name="myapp">   
  19. 19 </APPLET>   
  20. 20 -->   
  21. 21 <!--"END_CONVERTED_APPLET"-->   
  22. 22 </BODY>   
  23. 23 </HTML>  



注意其中的OBJECT標(biāo)簽,可以看到APPLET標(biāo)簽已經(jīng)被注釋掉了。其中PARAM NAME=NAME這一行中的myapp就是我們applet應(yīng)用程序的名稱,在IE提示的確認(rèn)運(yùn)行中顯示的就是這個(gè)名稱了,我們可以改為自己的公司或組織的名稱。然后提示的提供者也就是我們?cè)诤灻麜r(shí)用到的名稱了。 

另外,還要特別注意的就是這個(gè)包含OBJECT標(biāo)簽的html頁(yè)面必須和你的mytest.jar壓縮文檔放在同一個(gè)目錄下,這樣才可以正確的加載,否則會(huì)一直報(bào)ClassNotFound的異常的,即使我們?cè)贠BJECT標(biāo)簽中指定了CODEBASE也不行,這個(gè)是我在測(cè)試的時(shí)候遇到的問(wèn)題! 


八、在Internet上應(yīng)用簽名的applet 
如果要把a(bǔ)pplet部署在網(wǎng)絡(luò)上,那么最好是采用OBJECT標(biāo)簽的形式,同時(shí)也要兼顧采用EMBED標(biāo)簽來(lái)支持諸如FF等瀏覽器。我們把已簽名了的 mytest.jar和我們的網(wǎng)頁(yè)放在同一個(gè)目錄下,至于其他的如mytest.store和mbq.cert可以不用放在一起,至少我在測(cè)試的過(guò)程中沒(méi)有放到一起也不會(huì)出錯(cuò),而且在不同的機(jī)器上運(yùn)行的也非常好,可以讀取客戶端機(jī)器的資源!另外,也發(fā)現(xiàn)mytest.policy其實(shí)也沒(méi)什么用處,因?yàn)檫@是參考網(wǎng)絡(luò)上的,而且他們的版本都是1.3左右,所以估計(jì)是版本低的緣故吧! 


到此,我們就已經(jīng)完成了applet的簽名到部署,以及到實(shí)際的網(wǎng)絡(luò)應(yīng)用中了。這樣我們使用applet來(lái)開發(fā)控件時(shí)就不會(huì)因?yàn)闊o(wú)法讀取客戶端資源而放棄了,呵呵~~ 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩女优精品一区二区三区| 亚洲中文字幕在线观看四区| 亚洲综合香蕉在线视频| 国产肥妇一区二区熟女精品 | 久久精品亚洲欧美日韩| 国产户外勾引精品露出一区| 亚洲综合色婷婷七月丁香| 日本二区三区在线播放| 伊人天堂午夜精品草草网| 国产老熟女乱子人伦视频| 高清不卡视频在线观看| 国产精品涩涩成人一区二区三区 | 国产精品久久精品毛片| 精品国产91亚洲一区二区三区| 中文字幕日韩一区二区不卡| 精品一区二区三区人妻视频| 国产精品日本女优在线观看| 国产午夜免费在线视频| 亚洲欧美日韩国产综合在线| 内射精子视频欧美一区二区| 少妇熟女亚洲色图av天堂| 日本女优一色一伦一区二区三区| 伊人国产精选免费观看在线视频| 狠狠做五月深爱婷婷综合| 欧美黑人巨大一区二区三区| 免费久久一级欧美特大黄孕妇| 人妻熟女中文字幕在线| 亚洲一区二区三区在线免费| 国产高清一区二区白浆| 亚洲国产婷婷六月丁香| 国产熟女一区二区三区四区| 国产欧美日韩在线精品一二区| 欧美做爰猛烈叫床大尺度| 精品人妻一区二区三区免费看| 国产又粗又硬又大又爽的视频| 肥白女人日韩中文视频| 亚洲欧美日本视频一区二区| 国产欧美日产中文一区| 99香蕉精品视频国产版| 青青操视频在线播放免费| 字幕日本欧美一区二区|