java 7.51_使用Java 7更新51的Java Web Start安全性对话框

我构建了一个使用有效证书签名的Java Web Start应用程序.

当我为应用程序加注星形时,安全对话框会正确显示,如图所示

我的问题是关于“不再显示”复选框.

如果属性href出现在jnlp文件的jnlp标记中,则会出现复选框.

如果该属性不存在,则不会出现复选框,并且每次都需要确认运行.

(例:

&LT jnlp spec =“1.0”codebase =“http://docs.oracle.com/javase/tutorialJWS/samples/deployment/webstart_ComponentArch_DynamicTreeDemo”href =“dynamictree_webstart.jnlp”>

)

这是一个问题,因为我的jnlp文件位于受密码保护的目录下,如果指定了href,则Java Web Start应用程序会尝试将其作为其他资源进行检索. (导致拒绝访问,因为只对浏览器会话进行了身份验证并且运行失败)

部署Java Web Start应用程序的文档说:

在部署至少在Java SE 6更新18版本或更高版本上运行的Java Web Start应用程序时,codebase和href属性是可选的.在部署将与以前版本的Java Runtime Environment软件一起运行的Java Web Start应用程序时,必须指定codebase和href属性.

什么是正确的代码?有href还是没有?

这是BUG还是功能?

如何在不指定href属性的情况下显示“不再显示”复选框?

解决方法:

经过大量的搜索和测试后,我们发现只有这两种方式的Java Web Start应用程序,使用受信任的第三方证书进行正确签名,才能部署在JRE 1.7.0_51&显示预期的安全性对话框(“不再显示此…”复选框):

1)如上所述,使用启动文件自引用添加href =,例如:

jnlp spec="1.0+" codebase="http://some.dn.com/OurAppHome/" href="launch.jnlp"

对于通过ASP产生JNLP的网站,或者像上面提到的其他条件,这不是直截了当的.

2)正确的事情:JAR表明它在控制台日志中没有显示Missing Blah-Blah-Blah清单属性.我们发现的7u51的最小附加清单属性必须存在(* s作为测试值):

Permissions: all-permissions

Codebase: *

Application-Library-Allowable-Codebase: *

所以我们的工作完整构建脚本测试清单看起来像这样(生成版本):

标签:java,security,java-web-start

来源: https://codeday.me/bug/20190703/1366262.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值