如何“改为迁移到 Java 2 安全模型”?

发布于 2024-10-05 19:14:49 字数 1233 浏览 3 评论 0原文

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

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安全模型”的资源的反馈吗?

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

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

I use a JAVA applet which upload files from the browser with drag and drop. I know that is a signed Applet. Yesterday I uploaded some files, but today I give an error in the console:

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

I never upgrade JRE an I'm almost sure that the java version was always 1.6.0_22.
Is it possible ?

I'm not a Java programmer but I must edit the code to let the applet work. This applet simply access to the filesystem to create a folder, resize some image in that folder and upload the resized images and communicate with JS to send some messages to the web page.

I've found only this code related to security:

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) {
        ...
    }
}

And I found in a readme file how to sign the compiled 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

Can you give some feedback to resources that can help me to understand how to migrate to "Java 2 security model" ?

Is there a simple method to avoid this error without edit and recompile the source code (for example to force the old security model) ?

Any idea that can help me to approach the problem is really appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈年往事 2024-10-12 19:14:49

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

只需删除它并按照签名小程序的说明进行操作即可。

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

Just remove that and follow the instructions for signing the applet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文