如何产生签名applet,以使applet能够访问本地资源?

在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中心申请电子证书。
阅读更多
个人分类: 【Java】
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭