JNI und Applets
Heinrich
- java
Hi,
Ich habe eine DLL-Datei erstellt und möchte in einem Java-Applet JNI implementieren. Ich lade die Bibliothek mit System.loadLibrary, aber bekomme ich immer die Fehler : "access danied (java.lang.RuntimePermission loadLibrary.testLibrary)"
testLibrary ist die Name meiner DLl.
Weist jemand, ob JNI und Applets zusammen arbeiten können?
Heinrich
Hallo,
Ich habe eine DLL-Datei erstellt und möchte in einem Java-Applet JNI implementieren. Ich lade die Bibliothek mit System.loadLibrary, aber bekomme ich immer die Fehler : "access danied (java.lang.RuntimePermission loadLibrary.testLibrary)"
Ja, da verhindert der SecurityManager (die Sandbox) von Java den Zugriff.
Schließlich könntest du über DLL-Zugriff alle möglichen schlimme Dinge
auf dem Rechner des Benutzers tun, was aus Sicherheitsgründen natürlich
absolut nicht gewünscht ist.
(In der DLL kann Code stecken, der böse ist. DLLs werden außerhalb
der Sandbox ausgeführt, und können damit alles tun, was ein normales
Programm unter Windows auch tun kann.)
Weist jemand, ob JNI und Applets zusammen arbeiten können?
Ja, über ein signiertes Applet. Der Benutzer muß dann IIRC aber immer
noch bestätigen, daß das Applet wirklich ausgeführt werden darf.
(Eigentlich solltest du in einem Applet gar keine eigenen DLLs verwenden,
weil Applets üblicherweise plattformunabhängig sind, Libraries das
aber nicht sind.)
Gruß
Slyh
Ja, Du hast recht.
Und könntest Du mi ganz kurz ein kleines Beispiel dazu vorschlagen, wie ich JNI und Applet verbinden könnte?
Danke.
Heinrich