|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......Java2下Applet数字署名详细完成办法
北京阿费
转自阿须数码
--------------------------------------------------------------------------
3 Applet的数字署名认证明现的详细办法、步骤
3.1分离我本人开辟的基于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包利用命令jarxfweblogicc.jar),然后利用JDK的打包命令将编译好的监控程序.class和方才解压的包一同打包到一个包中。(条件我已将监控程序息争开的包都放在统一个目次下了),都是dos形态下的命令,详细命令见jdk1.3(1.2)的bin目次下,
命令以下:
jarcvfmonitor.jar*.class
此命令天生一个名为monitor.jar的包
2.为方才创立的包文件(monitor.jar)创立keystore和keys。个中
keystore将用来寄存密匙(privatekeys)和大众钥匙的认证,alias别号这儿取为monitor。
命令以下:
keytool-genkey-keystoremonitor.keystoreCaliasmonitor
此命令天生了一个名为monitor.keystore的keystore文件,
接着这条命令,体系会问你很多多少成绩,好比你的公司称号,你
的地点,你要设定的暗码等等,都由本人的任意写。
3.利用方才天生的钥匙来对jar文件举行署名
命令以下:
jarsigner-keystoremonitor.keystoremonitor.jarmonitor
这个命令将对monitor.jar文件举行署名,不会天生新文件。
4.将大众钥匙导进到一个cer文件中,这个cer文件就是要拷贝到客户真个独一文件。
命令以下:
keytool-export-keystoremonitor.keystore-aliasmonitor-filemonitor.cer
此条命令将天生monitor.cer认证文件,固然这几步都有大概问你刚
才设置的暗码。
如许就完成了服务器真个设置。这时候你就能够将jar文件和keystore文件和cer文件(我这儿是monitor.jar,monitor.keystore,monitor.cer)拷贝到服务器的目次下了,我用的是weblogic6.0,以是就拷贝到C:eawlserver6.0configmydomainapplicationsDefaultWebApp_myserver下的本人建的一个目次下了。
客户端:
1.起首应当安装jre1.3.0_01,然后将服务器端天生的monitor.cer
文件拷贝到jre的特定目次下,我这儿是:
c:programfilesjavasoftjre1.3.0_01libsecurity目次下。
2.将大众钥匙倒进到jre的cacerts(这是jre的默许keystore)
命令以下:
keytool-import-aliasmonitor-filemonitor.cer
-keystorecacerts
注重这儿要你输出的是cacerts的暗码,应当是changeit,而不
是你本人设定的keystore的暗码。
3.修正policy战略文件,在dos形态下利用命令policytool
体系会主动弹出一个policytool的对话框,如所示,在这内里起首选择file菜单的open项,
翻开c:programfilesjavasoftjre1.3.0_01libsecurity目次下的java.poliy文件,然后在edit菜单当选择Changekeystore,在对话框中newkeystoreurl:中输出
file:/c:/programfiles/javasoft/jre/1.3.0_01/lib/security/cacerts,
这儿要注重反斜杠,在newkeystoretype中输出JKS,这是cacerts的流动格局,然后单击AddPolicyEntry,在呈现的对话框中CodeBase中输出:
http://URL:7001/*
个中的URL是服务器的IP地点,7001是我的weblogic的端口,假如你是在其余使用服务器上好比说是apache,那端标语就能够省略失落。
在SignedBy中输出(别号alias):这儿是Monitor
然后单击addpeimission按钮,在呈现的对话框中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给人人看看。
<html>
<METAHTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=gb2312">
<center>
<h3>动静中央及时监控平台</h3>
<hr>
<OBJECTclassid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width="900"height="520"align="baseline"codebase="http://192.168.2.217:7001/j2re-1_3_0_01-win-i.exe#Version=1,3,0,0">
<PARAMNAME="java_code"VALUE="wise.monitor.applet.monitorApplet">
<PARAMNAME="java_codebase"VALUE="monitor/classes">
<PARAMNAME="java_type"VALUE="application/x-java-applet;version=1.3">
<PARAMNAME="ARCHIVE"VALUE="monitor.jar">
<PARAMNAME="scriptable"VALUE="true">
</OBJECT>
</center>
</html>
个中我要夸大一点,由于applet每次的修改都必要从头打包署名,手续十分烦琐,以是在详细的完成中要将一些会变更参数放到html文件中来,传到applet中往,这一点网上文章很多多少,本人往看吧。
别的一个就是有伴侣问我,那如许不是太贫苦了,每个客户端都要举行庞大的dos命令操纵,我只能说一今朝我的程度只能将一个已做好的客户端文件cer文件和java.policy和cacerts文件间接拷贝到客户端,固然这也出缺陷,假如他人的盘算机已有了认证,就会丧失。就这些成绩我们能够一同切磋。
别的另有一点优化,就是在打包的时分,我这儿只讲了把一切要用的触及到平安性的包和源程序到要打到一个包中。如许假如包十分年夜的话,会十分影响下载的速率,假如可使用当地盘算机的包就行了,这一点jre也做到了,详细的要到把持面板的jre把持台上往设置。这个就留着读者本人往探索吧。
停止语
我发明网上java相干的材料十分少,中文的更少,以是但愿本人能将一些小常识和人人共享,免却很多反复的无勤奋。假如人人对这个成绩另有不分明的中央,大概就这成绩相进一步睁开会商的,请和我接洽,我的信箱是afeilb@163.net。但愿我们能配合前进!
这篇文章也采取了一些其余文章的长处,在此要多谢南京西北年夜学盘算机迷信与工程系的金胜昔、步豪杰、吉逸。
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。 |
|