即使使用沙箱权限并将站点添加到例外列表,Applet也拒绝运行

Joh*_*ohn 5 html java applet jar

在关闭此文件之前,为了复制以下帖子之一,Java改变了Java 1.8中可运行applet的要求.这些要求使得无法运行未由可信证书签名的applet.解决这个问题的唯一方法是将网站添加到例外列表中,这对我来说不是很奇怪.

相关但过时的帖子:

生成我们的jar文件

我和我的"公司"创造了一个我们想要放在我们网站上的游戏.我们将java应用程序转换为Applet.applet完美地在appletViewer中运行,但它不会在网页中运行.以下是我们使用的清单:

Manifest-Version: 1.0
Application-Name: Battle-Ship
Permissions: sandbox 
Created-By: Chetter-Games
// empty line
Run Code Online (Sandbox Code Playgroud)

签署我们的jar文件

jar文件使用我们自己生成的密钥库进行签名(它不是来自可靠的证书分发者).这是jarsigner的输出:

Enter Passphrase for keystore: 
jar signed.

Warning: 
No -tsa or -tsacert is provided and this jar is not timestamped. Without a 
timestamp, users may not be able to validate this jar after the signer 
certificate's expiration date (2015-12-09) or after any future revocation date.
Run Code Online (Sandbox Code Playgroud)

我很确定这个错误可以忽略不计.这可能会在以后引起问题,但我们只是想立即启动并运行.

包含我们的Applet的HTML页面

这是包含嵌入式applet的页面的html:

<html>
<body>
<applet code='battleShip.WindowApplet'
    archive='signed-BattleShip.jar'
    width=500
    height=500>
</applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我们工作目录的服务器端ls,它包含applet页面battle.html和applet signed-BattleShip.jar:

-rw-rw-r-- 1 www-data      www-data      12136 Dec  5 21:57 back.jpg
-rw-r--r-- 1 www-data      www-data        195 Dec  9 14:25 battle.html
-rw-rw-r-- 1 www-data      www-data        116 Dec  9 12:59 index.html
-rw-r--r-- 1 www-data      www-data      27509 Dec 10 12:19 signed-BattleShip.jar
Run Code Online (Sandbox Code Playgroud)

有什么问题?

无论我们尝试什么,我们总是得到这个提示:

错误1

错误2

到目前为止,我们已经尝试了以下所有方法:

  1. 将applet限制为沙箱
  2. 将页面添加到安全例外列表
    • 我们已尝试添加www.example.com,www.example.com和www.example.com/battle.html,但这些都没有帮助
  3. 生成新的密钥库
  4. 在本地运行(没有帮助)
  5. 使用Object标签代替Applet

我们认为它与java控制面板中不再是"中等"选项有关.我们只是想让一些东西运转起来,任何帮助都会非常感激.

小智 -3

我刚刚经历了同样的问题。您需要做的是确保您拥有最新版本的 Java。然后你需要寻找Java控制面板。根据您使用的操作系统类型,java 网站会告诉您。然后只需访问 Java 控制面板中的“安全”选项卡并将特定网站添加到“例外站点列表”中,然后单击“编辑站点列表”。从 HTTPS: 开始,然后添加网站...这真的很糟糕。

  • 我已经尝试将该网站添加到例外列表中,但它仍然不允许该小程序运行。请参阅我们尝试过的事项列表中的第 2 项 (2认同)