繁体   English   中英

Applet被Java 7中的Java安全设置阻止

[英]Applet blocked by java security settings in java 7

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


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(keystore)文件

之后,我尝试通过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控制面板中将安全级别设置为中级,则可以使用,但是我必须保持该级别为高。

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

请给我建议。

您正在尝试通过已更改的旧方法加载Java applet。 引入了一种使用JNLP(Java网络启动协议)的新方法。 请按照此LINK中所述的说明尝试部署您的applet

您有几种选择:

  1. 安装Java较新版本 (现已提供Java 8)。 如果您转到Chrome中的about:plugins ,则可以在此处找到Java以及您的浏览器正在使用的版本(此处也有“始终允许”复选框,但这似乎对我没有影响)。
  2. 使用--allow-outdated-plugins标志启动Chrome-有关此信息,请参阅相关的Chrome帮助页面
  3. 在Java控制面板中将安全级别设置为中(如您在问题中所述)。

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

自7u60以来,已经为Java 7发布了3个CPU 您应该更新为7u75或7u76。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM