我使用JAVA applet,通过拖放操作从浏览器上传文件。我知道这是一个签名的Applet。昨天我上传了一些文件,但今天我在控制台中输入错误:
Netscape security model is no longer supported.
Please migrate to the Java 2 security model instead
我从不升级JRE,我几乎可以肯定java版本总是1.6.0_22 有可能吗?
我不是Java程序员,但我必须编辑代码才能让applet工作。这个applet只需访问文件系统来创建一个文件夹,调整该文件夹中的一些图像并上传调整大小的图像并与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) {
...
}
}
我在自述文件中找到了如何签署已编译的applet:
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安全模型”的资源提供一些反馈?
是否有一种简单的方法可以在不编辑和重新编译源代码的情况下避免此错误(例如强制使用旧的安全模型)?
非常感谢能帮助我解决问题的任何想法
答案 0 :(得分:1)
netscape.security.PrivilegeManager.enablePrivilege( “UniversalJavaPermissions”);
只需将其删除,然后按照小程序签名的说明进行操作。