[IT科技] 如何产生签名applet,以使applet能够访问本地资源?

发表于 @ 2009-6-8 18:00:26

在jdk1.1中,可以使用javakey命令来产生公钥,私钥,证书和签名的jar文件,详细资料 请参考: http://java.sun.com/security/usingJavakey.html而java 2对签名机制做了比较大的改进,允许用户更灵活地设置安全权限.Java 2提供了三个工具:keytool,policytool和jarsigner来实现签名applet.例如,Joe编写了一个签名applet:SignedApplet.java,那么产生一个简单的签名applet的过程如下:


//产生密钥,密钥别名为joe,口令为sign12,存放在密钥库joestore中

keytool -genkey -alias joe -keypass sign12 -keystore joestore

//将SignedApplet.class及相关文件打包成jar文件

jar cvf SignedAppletDemo.jar

//利用keytool生成的自签名的证书产生签名applet(jar文件)

jarsigner -keystore joestore -signedjar joe.jar SignedAppletDemo.jar joe

//将自签名证书从keystore中输出到文件

keytool -export -keystore joestore -alias joe -file joe.cer



而对于签名applet的接受方Susan,需要通过如下步骤来安全地执行

Joe编写的签名applet:

//得到Joe的证书并将之读入到密钥库中susanstore中

keytool -import -alias joe -file joe.cer -keystore susanstore

//运行policytool产生满足Susan要求的policy文件

policytool

//用appletviewer运行之,或在浏览器中安装java plugin来运行之.



关于签名applet在Java Plugin中的部署请参考以下网页:

http://java.sun.com/security/signExample12/



注:以上的例子为简单起见,使用了keytool产生的自签名证书.其实,用户也可以

使用keytool -certreq向商业CA中心申请电子证书.



Copyright © 2009 老紫竹
网站地图 | 最新文章 | 未读文章 | 24小时内热点文章 |津ICP备09000085号