【发布时间】:2016-01-02 21:30:36
【问题描述】:
我在安全的 apache http 服务器上有一个 JNLP/Web Start 应用程序(没有 Tomcat - 我需要它吗?)。它已使用我由 java 生成的免费密钥库进行签名。当我启动它时,我收到以下错误:
为安全起见,应用程序现在必须满足 High 或者 非常高的安全设置,或者是例外站点列表的一部分, 被允许运行。
我已将该位置添加到异常站点列表(使用尾部斜杠以包含所有子目录和文件),但我仍然收到此错误。
当然它不会在 Chrome 中工作。我尝试从命令行启动 jnlp 文件,从 Firefox 和 Internet Explorer 启动 URL,它们都给了我同样的错误。
我已获得证书并签署了我的 jar 文件。我已经在 jar 文件上运行了 jarsigner -verify,一切看起来都井井有条(但我不确定我在寻找什么):
jarsigner -verify -verbose -keystore garageMonitor.jks ../GarageMonitorFinder.jar
s k 1561 Fri Oct 09 18:19:48 UTC 2015 META-INF/MANIFEST.MF
1425 Fri Oct 09 18:19:50 UTC 2015 META-INF/8D95B904.SF
8149 Fri Oct 09 18:19:50 UTC 2015 META-INF/8D95B904.RSA
0 Fri Oct 09 14:13:14 UTC 2015 META-INF/
0 Fri Oct 09 14:13:14 UTC 2015 com/
0 Fri Oct 09 14:13:14 UTC 2015 com/thompco/
0 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/
smk 107 Fri Oct 09 14:13:12 UTC 2015 META-INF/INDEX.LIST
smk 1128 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitor.class
smk 2320 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorBroadcastClient.class
smk 3631 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorFinder.class
smk 903 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui$1.class
smk 903 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui$2.class
smk 903 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui$3.class
smk 822 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui$4$1.class
smk 954 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui$4.class
smk 8192 Fri Oct 09 14:13:14 UTC 2015 com/thompco/garagemonitor/GarageMonitorGui.class
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope
jar verified.
当我尝试运行 jnlp 文件时,我仍然收到上述错误。有没有办法解决这个问题?
有没有办法解决/调试这个问题?
【问题讨论】:
-
我在 Debian 系统上从 firefox 访问了相同的 URL(和 JNLP 文件),它运行良好,所以问题肯定出在 Windows 上,但我不知道我做错了什么我的配置。
-
我尝试将我的 windows 版本的 java 降级以匹配 Debian 上的版本,但它仍然不起作用。
-
所以我可能在清单中发现了一些问题(代码库不正确等),但在进行更改后,我看到了同样的问题。任何建议在哪里看都会很棒。
-
好吧,在拔掉剩下的头发后,我偶然发现了一根线。原来如果你去你的java控制面板和设置...取消选中“在我的电脑上保留临时互联网文件”。应用更改,重新启动您的浏览器,然后再试一次,如果您从命令行运行它...但是,如果您从 Web 托管位置尝试它,它不会。事实上,现在我又试了一次,它甚至不再从命令行工作了:-(
标签: java apache java-web-start jnlp