Applet中签名与未签名代码的混合使用带来的问题

Java Applet如果需要访问本地的受限资源,需要对访问的代码进行数字签名才能进行。Java SE 19 release或者以后的版本为了Applet的安全性,当所执行的Applet代码既包括已签名的代码也包括未签名的代码时,将会抛出一个提示对话框,提示用户所执行的代码包含未签名的,是否需要阻止未签名的代码执行,提示对话框下图所示,如果用户点击Yes,有可能会导致程序运行失败,因为需要的类找不到。

 

从用户角度和开发部署人员角度来看,分别有不同的解决方法。

  • 对于用户来说,可以通过Java Control Panel中的Advanced->Mixed code中的相应选项进行设置。
  • 对于开发部署人员来说可以通过如下的方法进行解决:
    • 使用Jar中的Manifest文件中的Trusted-Only属性和Trusted-Library属性进行设置:Trusted-Only:true的话只允许已签名的代码运行,阻止所有未签名代码;Trusted-Library则允许未签名的代码运行。
    • 将Jar全部签名,我觉得这也是比较好的办法,容易实施,而且能够保证更加安全。

 

详细信息见:Mixing Signed and Unsigned Code .

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值