问: 如何产生签名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的过程如下:
keytool -genkey -alias joe -keypass sign12 -keystore joestore 【相关文章:SNW2005火线报导:iSCSI多年媳】
//产生密钥,密钥别名为joe,口令为sign12,存放在密钥库joestore中 【扩展阅读:iSCSI与光纤通道形成互补 逐步迈向S】
jar cvf signedappletdemo.jar 【扩展信息:iSCSI技术的应用与发展】
//将signedapplet.class及相关文件打包成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中心申请电子证书.
... 下一页