Java中如何产生签名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.jarSignedAppletDemo.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中心申请电子证书.
页:
[1]