ドラッグアンドドロップでブラウザからファイルをアップロードするJAVAアプレットを使用します。私はそれが署名されたアプレットであることを知っています。昨日、私はいくつかのファイルをアップロードしたが、今日私は、コンソールにエラーを与える:「Java 2セキュリティモデルに移行する」方法を教えてください。
Netscape security model is no longer supported.
Please migrate to the Java 2 security model instead
私はJavaのバージョンは常に1.6.0_22たことはほぼ確信しているJREのANをアップグレードすることはありません。
可能でしょうか?
私は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
あなたはリソースにいくつかのフィードバックを与えることができます「Java 2セキュリティモデル」への移行方法を理解するのに役立つでしょうか?
ソースコードを編集して再コンパイルすることなくこのエラーを回避する簡単な方法はありますか(たとえば古いセキュリティモデルを強制するなど)?
問題にアプローチするために私を助けることができるすべてのアイデアは本当に
常にJava 6アップデート22を使用していたことについて、これは現在、最新のJavaバージョンであり、今年10月12日にリリースされました。だからあなたのアプレットがそれより古い場合は、以前は以前のバージョンを使用していました。 –
okですので、確かに自動アップデートがあり、私は今まで同じJREを使用していませんでした。ミステリーは解決しました。ありがとう – yuri