本人在报表开发之时,遇到很多问题,而对于applet的安全问题困惑很久。
于是想写总结。
开发之初,没想到applet的安全问题会如此不好处理,开始时,我采用的是修改policy的文件,这样对于开发好的程序来说,不利于用户的使用,因为这个总得来进行配置,很是不方便,于是在网上找了一下有关于applet的安全问题。所以就想到用数字签名来处理,果然不出所料,很好解决了这个问题,现总结如下:
- Microsoft Windows XP [版本 5.1.2600]
- (C) 版权所有 1985-2001 Microsoft Corp.
- C:\Documents and Settings\zzx>cd..
- C:\Documents and Settings>cd..
- C:\>keytool -genkey -keystore applet.store -alias applet
- 输入keystore密码: 123456
- 您的名字与姓氏是什么?
- [Unknown]: xxx
- 您的组织单位名称是什么?
- [Unknown]: xxx
- 您的组织名称是什么?
- [Unknown]: xxx
- 您所在的城市或区域名称是什么?
- [Unknown]: xxx
- 您所在的州或省份名称是什么?
- [Unknown]: sh
- 该单位的两字母国家代码是什么
- [Unknown]: ch
- CN=xxx, OU=xxx, O=xxx, L=sh, ST=sh, C=ch 正确吗?
- [否]: y
- 输入<applet>的主密码
- (如果和 keystore 密码相同,按回车):
- C:\>keytool -export -keystore applet.store -alias applet -file applet.cer
- 输入keystore密码: 123456
- 保存在文件中的认证 <applet.cer>
- C:\>jarsigner -keystore applet.store test.jar applet
- 输入密钥库的口令短语: 123456
- 警告: 签名者证书将在六个月内过期。
- C:\>
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\zzx>cd..
C:\Documents and Settings>cd..
C:\>keytool -genkey -keystore applet.store -alias applet
输入keystore密码: 123456
您的名字与姓氏是什么?
[Unknown]: xxx
您的组织单位名称是什么?
[Unknown]: xxx
您的组织名称是什么?
[Unknown]: xxx
您所在的城市或区域名称是什么?
[Unknown]: xxx
您所在的州或省份名称是什么?
[Unknown]: sh
该单位的两字母国家代码是什么
[Unknown]: ch
CN=xxx, OU=xxx, O=xxx, L=sh, ST=sh, C=ch 正确吗?
[否]: y
输入<applet>的主密码
(如果和 keystore 密码相同,按回车):
C:\>keytool -export -keystore applet.store -alias applet -file applet.cer
输入keystore密码: 123456
保存在文件中的认证 <applet.cer>
C:\>jarsigner -keystore applet.store test.jar applet
输入密钥库的口令短语: 123456
警告: 签名者证书将在六个月内过期。
C:\>
这样就对test.jar的包进行了数字签名,如果还有用到别的包,用同样的方法,只要执行最后一步便可以!
这样只写html的引用文件便可啦!当打开IE时浏览此网时,用只要信任此盲目证书便可以,这样客户端就不用配置什么文件啦,呵呵。。。。。。
小小总结,也许很多人都知道,但我还是想分享一下自己的想法而已!