JavaGUI应用程序打包及数字签名

JavaGUI应用程序部署 JavaGUI程序发布分类: 

a、Applet:可以嵌入到浏览器中,通过网页的方式展示给用户 
b、application :有两种发布方式 :打包成jar包通过bat的方式运行,或者通过第三方软件打成exe; 通过Java Web Start的方式发布到服务器端,通过JNLP运行 用applet或者jws的方式发布,大部分都需要数字签名,签名不是必须的,如果程序只是单纯的绘图,显示,只要不访问网络资源也不访问本地文件,是不用签名的,但是如果要访问本地或网上资源就必须签名, 比如读取本地文件或者访问数据库,这是由java的沙箱机制决定的,即jvm内部有一组安全检查规则,要通过检查之后才能访问特定资源。 


如果要突破这个规则,可以有两个方法: 


一、 修改jre权限 

文件如下 
java.policy为grant { 
permission java.security.AllPermission; 
}; 
一般权限文件的目录如下C:/Program Files/Java/jre6/lib/security,但修改每个客户端权限文件,很麻烦。 

二、签名 

签名就是告诉用户,这个程序是谁发布的,是不是能信任,如果客户确定,这个applet或者jws就可以访问外部资源了。 



(1)打包,将多个class文件及包,进行打包 

例如:所有class文件及包都在com目录下 

1、进入相应磁盘 

2、进入到com所在文件夹 

3、执行命令:jar -cvf manage.jar . 

(2)使用keytool工具生成密匙库 

1.keytool工具位于${java_home}/bin目录下; 
2.在DOS窗口中执行命令:keytool -genkey -keystore mytest.store -alias mbq 
注意:mytest.store 是你的密匙库的名称,可以随意修改,后缀请不要修改! 
如果需要可以添加参数DOS命令 
keytool -genkey -keystore mytest.store -alias mbq -validity 3650 

-validity 3650 表示的是有效期是3650天,默认情况是六个月有效期。 
mbq 为别名,这个也可以改成自己的名称 
3.执行上述命令后,DOS窗口中会提示你输入keystore的密码、你的姓名、组织单位等等信息。这里要注意的是输入密码请记住,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置mbq的主密码和store密码一致即可! 



(3)使用keytool工具导出签名时用到的证书 
1.在DOS窗口中执行命令:keytool -export -keystore mytest.store -alias mbq -file mbq.cert 
注意:mytest.store 就是第二步生成的密匙库名称 
mbq 也是在第二步中我们指定的别名 
mbq.cert 为我们生成的证书的名称,可以自己修改名称,注意后缀不要改 
2.命令执行成功,我们会在当前目录下找到一个mbq.cert文件,这个就是我们刚才生成的证书。 


(4)使用jarsigner工具签名jar压缩文档 
1.jarsigner工具位于${java_home}/bin目录下; 
2.在当前DOS窗口中执行命令:jarsigner -keystore mytest.store mytest.jar mbq 
注意:mytest.store 就是我们在第二步中生成的密匙库名称 
mytest.jar 就是我们这第一步压缩的jar文档 
mbq 是提供者的名称,我们这里设置为我们的别名 
修改客户端的程序是需要重新打包和签名。 

posted @ 2015-05-14 17:22  zxczxczxc123  阅读(283)  评论(0编辑  收藏  举报