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 是提供者的名称,我们这里设置为我们的别名
修改客户端的程序是需要重新打包和签名。
JavaGUI应用程序打包及数字签名的更多相关文章
- 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
最近由于项目部署时需要更灵活的控制程序安装的流程以及自定义安装行为,特意研究了一下VS程序打包,把解决办法和大家分享一下. 以VS2010为例: 这是一个已经设置好最基本的Visual Studio ...
- VS2012程序打包部署详解
VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具: InstallShield2015LimitedEdition.下载地址:https://msdn.micr ...
- 他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio .下载地址: InstallShield 2013 Limited Edi ...
- c#程序打包大全
c#程序打包现在分为两种,一种是VS自带的打包方式,还有一种是第三方的打包方式,在VS2013里面是没有自带打包安装部署的,只有第三方的创建. 第三方打包方式很简单,百度Installshield下载 ...
- SNF开发平台WinForm之十一-程序打包-SNF快速开发平台3.3-Spring.Net.Framework
原来我们用的是微软自带的打包工具去打包,但感觉好像也是第三方做的打包并且很是麻烦,还有时不成功报错.那综合考虑就找一个简单实用的打包工具吧,就找到了NSIS这个.具体打包步骤如下: 1.安装NSIS ...
- Android 程序打包和安装过程
APP程序打包与安装的流程: APP的安装过程:
- 【转】VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- 将eclipse的应用程序打包成.exe
转自:http://blog.163.com/loveshijie_1991/blog/static/1760553112012102573437156/ 参考:http://blog.csdn.ne ...
- 用命令行将Java程序打包为jar文件
如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:Jav ...
随机推荐
- C++ Simple Message/Logging Class
在 Qt的源码与Protobuf 的代码中,看到相同的简单消息(日志)输出的类实现,基本思路是使用宏定义,重载临时类对象,调用类方法或者通过析构函数自动调用输出方法,实现消息输出.这里以 Protob ...
- java+selenium+maven+IntelliJ IDEA 搭建简单的UI自动化测试环境
1. 用IntelliJ IDEA新建一个maven工程 2. 在pom.xml中添加依赖: <dependency> <groupId>org.seleniumhq.sele ...
- Go:类型断言
一.基本介绍 类型断言:由于接口是一般类型,不知道具体类型,如果要转成具体类型,就需要使用类型断言. 如果希望将一个空接口类型重新转换成对应的类型,那么需要使用类型断言,能转换成功是因为这个空接口原先 ...
- LeetCode(87) Gray Code
题目 The gray code is a binary numeral system where two successive values differ in only one bit. Give ...
- Counting Kangaroos is Fun 求最少可见袋鼠数
Description There are n kangaroos with pockets. Each kangaroo has a size (integer number). A kangaro ...
- 【HDU 3336】Count the string(KMP+DP)
Problem Description It is well known that AekdyCoin is good at string problems as well as number the ...
- keepalived安装脚本
keepalived_install.sh: #cat keepalived_install.sh #!/bin/bash pkg=keepalived-2.0.10.tar.gz tar xf $p ...
- mappedBy的作用
mappedBy的意思就是"被映射",即mappedBy这方不用管关联关系,关联关系交给另一方处理 1.规律:凡是双向关联,mapped必设,因为根本都没必要在2个表中都存在一个外 ...
- 2016 Multi-University Training Contest 3 solutions BY 绍兴一中
1001 Sqrt Bo 由于有\(5\)次的这个限制,所以尝试寻找分界点. 很容易发现是\(2^{32}\),所以我们先比较输入的数字是否比这个大,然后再暴力开根. 复杂度是\(O(\log\log ...
- loadrunner 并发操作集合点配置
在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户.而simultaneous与 ...