Web Applet数字签名

步骤一:jar文件 

用Myeclipse导入jar文件 

 

步骤二:
1、keytool -genkey -keystore pepper.store -alias pepper

这个命令用来产生一个密匙库,执行完毕后应该在c:/admin中产生一个pepper.store的文件,这里的pepper是我自己的名字,你可以对它进行修改。另外在执行命令的时候还有提示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。 

2、keytool -export –keystore  pepper.store -alias pepper -file pepper.cert(此步骤可跳过)

这个命令用来产生签名时所要用的证书,同样这里的pepper也可以换成你自己需要的名字。这个命令执行完后在c:/admin(若权限限制,放d:/XXX)中产生一个pepper.cert的文件。

3、 jarsigner -keystore pepper.store MyApplet.jar pepper 
这个命令用上面产生的证书将我们的jar文件进行了签名

 

步骤三

新建一个策略文件,并把这些策略文件加入(修改文件) 

1、 在c:/admin中产生一个名为applet.policy的文件,其内容如下: 
keystore "file:c: /admin/pepper.store", "JKS"; 
grant signedBy "pepper" 
{

permission java.io.FilePermission "<<ALL FILES>>", "read";

}

这个文件让由pepper签名的Applet拥有本地所有文件的读权限。 

2、 修改${java.home}/jre/lib/security目录下的java.security,找到下面这两行: 
policy.url.1=file:${java.home}/lib/security/java.policy 
policy.url.2=file:${user.home}/.java.policy 

在下面添写第三行 
policy.url.3=file:c: /admin/applet.policy

完成这个修改后我们在前面创建的applet.policy文件才有效。

步骤四

<applet codebase="."

            code="ClientDemo.ATest.class"

             archive="jna.jar,camera.jar,examples.jar"

            name="ATest"

            width="320"

            height="240">

    </applet>

 

步骤五

考虑在Internet上实现这个Applet,那么 不需要在所有的客户端均做上面的步骤,你只需要在你的服务器上创建一个目录,例如c:/admin,将这个目录映射为www.testApplet.com/admin。这里的www.testApplet.com是一个假定的网址,将pepper.cert、pepper.store、FileReaderApplet.html、MyApplet.jar以及applet.policy放在这个目录中,然后修改applet.policy文件如下:
keystore "http:// www.testApplet.com/admin/pepper.store",

"JKS";grant signedBy "pepper"{ permission java.io.FilePermission "<<ALL FILES>>", "read";};

3、 而每个客户端仅仅需要修改一下它们的${java.home}/jre/lib/security目录下的java.security文件如下:
policy.url.1=file:${java.home}/lib/security/java.policy

policy.url.2=file:${user.home}/.java.policy

policy.url.3= http:// www.testApplet.com/admin/applet.policy

当然每个客户端还是需要安装JRE的。

 

 

转载于:https://my.oschina.net/ldm95/blog/891315

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值