首页 技术 正文
技术 2022年11月19日
0 收藏 626 点赞 3,191 浏览 1880 个字

转:http://www.iteye.com/topic/154531

最近在研究applet,打算使用applet来开发一个上传文件上传控件,之前因为一直觉得applet的沙箱控制导致applet不能主动的访问客户端的资源,所以也曾因此而放弃.不过最近在研究applet的签名后,有了点收获,可以通过签名jar文档来达到这样的控制策略,下面是我在实际实验过程中的一些心得和体会,跟大家一起分享下.(注:如果转载此文,请注明出处和作者,尊重作者的劳动成果,谢谢一、压缩你的class类文件为jar包

​1.假设你的需要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test2

​2.进入你的classes目录,在DOS窗口中执行命令:jar
cf mytest.jar cn.mbq.test1
cn.mbq.test2

​3.执行命令后你会在当前目录中找到mytest.jar文件,这个就是刚才生成的档案文件。你可以修改它的后缀为rar,然后使用winrar压缩程序打开它查看看是否正确。

二、使用keytool工具生成密匙库

​1.keytool工具位于${java_home}/bin目录下;

​2.在DOS窗口中执行命令:keytool
-genkey -keystore mytest.store -alias
mbq

注意:mytest.store
是你的密匙库的名称,可以随意修改,后缀请不要修改!        
mbq 为别名,这个也可以改成自己的名称

​3.执行上述命令后,DOS窗口中会提示你输入keystore的密码、你的姓名、组织单位等等信息。这里要注意的是输入密码请记住,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置mbq的主密码和store密码一致即可!

三、使用keytool工具导出签名时用到的证书

​1.在DOS窗口中执行命令:keytool -export
-keystore mytest.store -alias mbq -file
mbq.cert

注意:mytest.store 就是第二步生成的密匙库名称

mbq
也是在第二步中我们指定的别名

​       
mbq.cert 为我们生成的证书的名称,可以自己修改名称,注意后缀不要改

​2.命令执行成功,我们会在当前目录下找到一个mbq.cert文件,这个就是我们刚才生成的证书。

四、使用jarsigner工具签名jar压缩文档

 1.jarsigner工具位于${java_home}/bin目录下;

​2.在当前DOS窗口中执行命令:jarsigner
-keystore mytest.store mytest.jar mbq

​ 
注意:mytest.store 就是我们在第二步中生成的密匙库名称

mytest.jar 就是我们这第一步压缩的jar文档

mbq 是提供者的名称,我们这里设置为我们的别名

五、创建mytest.policy文件

​1.在当前目录下创建一个mytest.policy文件,其内容如下: keystore”file:mytest.store”,”JKS”; grantsignedBy”mbq” { permission
java.io.FilePermission”<<ALLFILES>>”,”read,write”; };

​2.这个文件的意思就是说让所有由mbq签名的applet都可以对本地的所有文件进行读操作。

六、归档文件

通过上述的五个操作后,我们会在当前目录中找到如下几个文件:mytest.jar-签名后的jar文档、mytest.store-密匙库、mbq.cert-证书、mytest.policy-访问策略文件。

如果没有这些文件,那么你的applet数字签名过程就没有正确的完成,请检查上述的操作。以后,如果对打包的java文件做了修改,那么就需要重新签名一次才可以!

七、在网页中运行applet

​1.假设你的applet中的主启动类为:cn.test.TestApplet.class;整个前面生成的档案文件、证书啊存储在目录:d:\test\myapplet下;

​2.建立一applet_test.html文件存放在任何目录下都可以,然后内容如下:

 

注意:其中的CODEBASE就是你的类的基础目录,CODE也就是你的APPLET的启动主类,ARCHIVE也就是签名后的JAR文档。

2.然后在IE中打开该html文件,那么会看到IE提示你是否信任该插件,也就是说我们的证书起作用了,然后确定运行后,就可以在页面上看到applet的运行效果了。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,103
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,579
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,427
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,199
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,834
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,917