Heinrich: JNI und Applets

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

  1. 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

    1. 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