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と通信し、Webページにメッセージを送信するだけです。

私はセキュリティに関連するこのコードだけを見つけました:

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

そして、私はreadmeファイルでコンパイルされたアプレットに署名する方法を見つけました:

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

「Java2セキュリティモデル」への移行方法を理解するのに役立つリソースにフィードバックをお願いします。

ソースコードを編集および再コンパイルせずにこのエラーを回避する簡単な方法はありますか(たとえば、古いセキュリティモデルを強制するため)?

問題に取り組むのに役立つアイデアは本当にありがたいです

4

1 に答える 1

1

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

それを削除し、アプレットに署名するための指示に従ってください。

于 2010-11-30T03:44:23.220 に答える