2

我使用一个 JAVA 小程序,它通过拖放从浏览器上传文件。我知道那是一个签名的小程序。昨天上传了一些文件,今天在控制台报错:

Netscape security model is no longer supported. 
Please migrate to the Java 2 security model instead

我从不升级 JRE,我几乎可以肯定 Java 版本始终是 1.6.0_22。
可能吗 ?

我不是 Java 程序员,但我必须编辑代码才能让小程序工作。这个小程序简单地访问文件系统以创建一个文件夹,在该文件夹中调整一些图像的大小并上传调整大小的图像并与 JS 通信以向网页发送一些消息。

我发现只有这个与安全相关的代码:

import netscape.security.PrivilegeManager;
import java.text.DateFormat;
import java.security.AccessController;
import java.security.PrivilegedExceptionAction;
import java.security.PrivilegedActionException;

public void init() {
    try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalJavaPermissions");
        ...
    } catch (JSException e1) {
        ...
    }
}

我在自述文件中找到了如何签署已编译的小程序:

keytool -export -alias signFiles -file myCert.crt -storepass mypass
javac -cp C:\Programmi\Java\jdk1.6.0_18\jre\lib\plugin.jar; .\MyApplet.java -Xlint:unchecked
jar -cvf MyApplet.jar test
jarsigner MyApplet.jar signFiles

您能否对资源提供一些反馈,以帮助我了解如何迁移到“Java 2 安全模型”?

有没有一种简单的方法可以避免这个错误而无需编辑和重新编译源代码(例如强制旧的安全模型)?

任何可以帮助我解决问题的想法都非常感谢

4

1 回答 1

1

netscape.security.PrivilegeManager.enablePrivilege("UniversalJavaPermissions");

只需删除它并按照说明签署小程序即可。

于 2010-11-30T03:44:23.220 回答