由Java 7中的java安全设置阻止的Applet

时间:2015-01-22 05:22:38

标签: java applet

我正在尝试部署测试演示applet。 applet的代码如下所示


import java.applet.Applet;
import java.awt.Graphics;

public class TestApplet extends Applet{

    public void paint(Graphics gh){
        gh.drawString("hello world", 300, 200);
    }
}

我还使用了包含在jar中的清单文件,其中包含以下行

权限:沙箱

应用程序名称:Applet演示

然后我使用 jarsigner 使用包含来自 thawte 的可信证书的密钥库对jar进行签名。 Jarsigner还可以使用适当的证书链验证已签名的jar。我还在系统中安装了.p12(密钥库)文件

之后我尝试通过Chrome浏览器从本地服务器加载applet。以下是我的HTML代码

<html>
<Title>Applet Testing</Title>
<hr>
<applet code="TestApplet.class"
    archive="SignedTestApplet.jar"
    width="480" height="320">
<param name="Permissions" value="sandbox"/>
<param name="Application-Name" value="Applet Demo"/>
</applet>
<hr>
<html>

按照上述所有步骤后,我得到以下弹出式响应


您的安全设置已阻止应用程序使用过期或过期的java版本


我正在使用java 7 update 60,如果我从Java控制面板将安全级别设置为中等,它可以工作,但我必须保持级别高。

我的程序是否有任何缺陷或应该做些什么?

请建议我。

3 个答案:

答案 0 :(得分:2)

您正尝试使用已更改的旧方法加载Java小程序。引入了一种使用JNLP(Java网络启动协议)的新方法。请尝试按照此LINK

中所述的说明部署您的小程序

答案 1 :(得分:1)

您有几个选择:

  1. 安装newer version of Java(Java 8现已推出)。如果您在Chrome中转到about:plugins,可以在此处找到Java以及您的浏览器使用的版本(此处还有一个“始终允许&#39;”复选框,但它似乎对我没有任何影响)
  2. 使用标记--allow-outdated-plugins启动Chrome - 有关此信息,请参阅相关的Chrome help page
  3. 从Java控制面板中将安全级别设置为中等(正如您在问题中所述)。

答案 2 :(得分:1)

从Java 7 Update 10开始,所有Java版本都有expiration date。每当发布关键补丁更新(CPU)时,旧版本将过期。

自7u60以来,Java 7已发布3 CPUs。您应该更新到7u75或7u76。