jubincn

导航

Java Applet签名验证

转自: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>

posted on 2012-06-28 15:26  jubincn  阅读(260)  评论(0编辑  收藏  举报