gpt4 book ai didi

带有 Java 7 update 51 的 Java Web Start 安全对话框

转载 作者:搜寻专家 更新时间:2023-11-01 03:23:46 24 4
gpt4 key购买 nike

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

当我启动应用程序时,安全对话框正确显示,如图所示

http://www.java.com/en/img/download/trusted_signed.jpg

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

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

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

(示例:< 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 应用程序会尝试将其作为其他资源进行检索。 (导致访问被拒绝,因为只验证了浏览器 session ,运行失败)

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

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

什么是正确的代码?带 href 还是不带?

这是 BUG 还是功能?

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

最佳答案

经过大量搜索和测试后,我们发现只有这两种方法可用于 Java Web Start 应用程序,使用受信任的第 3 方证书正确签名,在 JRE 1.7.0_51 下部署并显示预期的安全对话框(带有“不再显示此...”复选框):

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

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

对于通过 ASP 或您在上面提到的其他条件生成 JNLP 的网站来说,这不是直接的。

2) 正确的事情:JAR list ,这样它就不会在控制台日志中显示缺少 Blah-Blah-Blah list 属性。我们发现的 7u51 的最小附加 list 属性必须存在(*s 作为测试值):

Permissions: all-permissions
Codebase: *
Application-Library-Allowable-Codebase: *

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

         <manifest>
<attribute name="Application-Name" value="Our App Name"/>
<attribute name="Main-Class" value="com.whatever.main.AppLoader"/>
<attribute name="Class-Path" value="./Corejar.jar ./Support.jar"/>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Permissions" value="all-permissions"/>
<attribute name="Codebase" value="*"/>
<attribute name="Application-Library-Allowable-Codebase" value="*"/>
<attribute name="Trusted-Only" value="true"/>
<attribute name="Specification-Title" value="Our App Name"/>
<attribute name="Specification-Version" value="${version}"/>
<attribute name="Specification-Vendor" value="Our Company Name"/>
</manifest>

关于带有 Java 7 update 51 的 Java Web Start 安全对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21207037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com