在.jnlp文件中使用"all-permissions"标签的解决方案

 在.jnlp文件中使用<all-permissions/> 标签的解决方案

 

 

    当采用Java Web Start发布程序时,在.jnlp文件中使用如下的标签时:

     <security> 
     <all-permissions/> 
   </security>

     那么所有发布的jar都需要被标记(signed),否则会产生如下的异常:

       

 

    

     解决方法如下所述(也可以参照JDK帮助文档):

     你要采用下列方式运行toolkey工具:  

 

keytool -genkey -alias TestApplet -validity 365

 

这条语句将产生一个别名为TestApplet的密匙证书(key certificate),该证书将存储在你的.keystore文件中。Validity指的是密匙的有效期,默认是180,但是这里我们需要一年的时间,所以我们设置为365。在Windows命令提示行窗口中运行这条语句,你会从keytool中得到大量需要回答的简短问题,如下图所示:

 

可能你已经理解到了,最重要的东西当然是密码。你可以使用你自己的密码,但是不要忘记它。我前面说过,创建信任APPLET是一个很简单的操作,但是你要理解每一步的道理。这里,我们几乎已经完成了它的操作,但还是要针对keytool说几句。我建议你多多注意它,阅读keytool的手册来了解每个参数的用法是有必要的,对于你深入理解它的特性是很有帮助的。好了,既然我们产生了我们自己的密匙,让我们来做个简单操作吧:仅仅用我们的密匙来设计我们的APPLET。使用下面的命令行(请改变当前目录到TestApplet.jar存放的目录):

jarsigner TestApplet.jar TestApplet

第一个参数是我们的jar文件,第二个是上面刚刚创建的密匙别名(Key Alias)。jarsigner命令不是友好的,因此你将看不到任何信息。

 

 

恭喜,你已经成功创建了你的第一个真正的签名APPLET!我想你恨不得马上尝试一下它的功能吧,我也找不出任何理由不让你这么做。上传或者仅仅拷贝你签名的JAR文件到放置你先前的TestApplet.html和TestApplet.jar的那个目录中,然后覆盖TestApplet.jar文件。在浏览器中浏览TestApplet.html。

然后你的Applet会加载,并显示一个窗口,如下所示:

 

它询问你是否接受或者拒绝这个签名的APPLET。点击“No”将以旧的未签名的版本来显示APPLET,那样它仍然位于“沙盒”中且对“外面的世界”有很多约束。点击“Yes”将以你的APPLET获得更多的自由。   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值