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

Mar*_*que 8 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

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

权限:沙箱

应用程序名称:Applet演示

然后我使用jarsigner签署了jar ,其中包含来自thawte的可信证书的密钥库.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>
Run Code Online (Sandbox Code Playgroud)

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


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


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

我的程序有什么缺陷或应该做什么?

请建议我.

Saq*_*wan 2

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