Signiertes Applet gibt AccessControlException: Zugriff verweigert, wenn aus Javascript angerufen wird

Ich habe ein einfaches selbstsigniertes Applet (fertig mit keytool und dem jarsigner):

public class NetAppletLauncher extends JApplet {

    private static final long serialVersionUID = 1L;

    public void init() {
        exec("notepad c:/hello.txt");
    }

    public void exec(String command) {

        try {

            // launch EXE and grab stdin/stdout and stderr
            Process process = Runtime.getRuntime().exec(command);
            //      OutputStream stdin = process.getOutputStream();
            InputStream stderr = process.getErrorStream();
            InputStream stdout = process.getInputStream();

            // "write" the parms into stdin
//          stdin.write(arguments.getBytes());
//          stdin.flush();
//          stdin.close();

            // clean up if any output in stdout
            String line = "";
            BufferedReader brCleanUp = new BufferedReader(new InputStreamReader(stdout));
            while ((line = brCleanUp.readLine()) != null) {
                //System.out.println ("[Stdout] " + line);
            }
            brCleanUp.close();

            // clean up if any output in stderr
            brCleanUp = new BufferedReader(new InputStreamReader(stderr));
            while ((line = brCleanUp.readLine()) != null) {
                //System.out.println ("[Stderr] " + line);
            }
            brCleanUp.close();

        } catch (Exception exception) {
            exception.printStackTrace();
        }

    }

}

Grundsätzlich führt es 'notepad c: /hello.txt' aus.

Dann binde ich das Applet in HTML ein:

<applet id='applet' name='applet' archive='NetAppletLauncher1.jar' code='src.NetAppletLauncher' width='100' height='100' MAYSCRIPT ></applet>

Wenn ich die Seite besuche, startet JRE und fragt mich, ob ich dieses Applet starten möchte und ob ich ihm vertraue. Ich drücke ok Dann startet der Notizblock - wie er sollte. Kein Problem hier.

Aber dann füge ich das in die HTML-Seite ein:

<p class="link" onclick="document.applet.exec('calc');">remote desktop2</p>

Wenn ich nun auf diesen Text drücke, sollte calc starten - richtig? Aber das gibt mir:

java.security.AccessControlException: access denied (java.io.FilePermission <<ALL FILES>> execute)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
was ist damit los? Warum erhalte ich jetzt eine Sicherheitsausnahme, aber es kann sein, dass der Editor zuvor gestartet wird?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage