转自:http://100air.iteye.com/blog/52946
用Applet写的java小程序如果没有经过签名,那么访问客户端程序下载后会受到安全限制;沙箱机制对Applet的安全性限制在浏览器或者appletviewer中运行远程主机上存放的Applet时,Java VM认为它是不可信任的,将其置于所谓sandbox的保护之下,在这样的情况下Applet的运行受到下面的限制 :
a) Applet不能读写客户端主机上的文件
b) Applet不能执行JCE/JCA中的addProvider操作
c) 在进行网络连接时Applet只能与提供它的服务器建立连接
d) Applet在事件捕获、读取系统信息等其他方面受到限制
e) 在Netscape浏览器中,不提供java.security.*的支持,在IE浏览器中对Applet的运行做了比appletviewer中更加高的限制
怎样对java小程序签名受到很多人的关注,网上也有这些方面可供参考的文档,但都不是完整,在这里我给出一份可具体操作的文档,希望能给大家一些帮助。 场景:test.jar:内含待签名的java小程序 结果:签名后,客户端能自动下载java小程序,且java小程序能访问客户端的任何资源
步骤:
(1)将java小程序打包
jar cvf test.jar test.class
(2)生成名为chinani.store的密钥库,别名为chinani
keytool -genkey -keystore chinani.store -alias chinani
密码:123456 (根据需要自己输入) 以下根据需要输入,最后确认:y
(3)导出chinani.cer数字证书
keytool -export -keystore chinani.store -alias chinani -file chinani.cer
密码:123456 (根据需要自己输入)
(4)对test.jar文件进行签名
jarsigner -keystore chinani.store test.jar chinani
密码:123456 (根据需要自己输入)
最后写一个html文件,运行此文件即可自动下载安装运行java小程序HTML文件内容如下:
<applet code=Test
archive="Test.jar"
width=320 height=300>
</applet>