# access denied (“java.net.SocketPermission”…) mit Java 8



## jloh (21. Okt 2014)

Ich habe ein Java Applet, das in einer einfachen HTML-Seite eingefügt ist:


```
<applet width="100%" height="100%" id="StatApplet" code="stat.applet.StatApplet.class" archive="stat.jar">
    <PARAM NAME="_cx" VALUE="25903">
    <PARAM NAME="_cy" VALUE="19738">
    <param name="frame" value="0">
    <param name="module" value="1">
    <param name="count" value="4">
    <param name="image" value="RSload.gif">
    <param name="boxbgcolor" value="#ffffff">
    <param name="boxmessage" value="Monitor loading">
</applet>
```

Das Applet ist signiert mit einem Zertifikat von GlobalSign. Die JAR- und die HTML-Datei wurden auf einen Embedded Web-Server (ein Beck IPC SC143) kopiert, der unter http://192.168.0.91/ erreichbar ist.  Das Applet öffnen nun eine Socket-Verbindung zu dem Server, von dem es geladen wurde:


```
try {
    final int CONNECT_ETHERNET_TIMEOUT_MS = 5000;
    final int PORT_STATUSMON = 945;

    String host = getCodeBase().getHost();  // get host address
    if (host.equals("")) {
        host = getParameter("host");    // to run applet from eclipse
    }
    InetAddress inetAddress = InetAddress.getByName(host);

    Socket ethernetSocket = new Socket();
    ethernetSocket.connect(new InetSocketAddress(inetAddress, PORT_STATUSMON), CONNECT_ETHERNET_TIMEOUT_MS);

    ethernetSocket.close();
} catch (Exception e) {
    e.printStackTrace();
}
```

Das funktioniert prima, zuletzt mit 7 Update 45, aber seit dem Update der VM auf Java 8 Update 25 bekomme ich diese Exception:


```
java.security.AccessControlException: access denied ("java.net.SocketPermission" "192.168.0.91:945" "connect,resolve")
```

Die Exception wird in connect() geworfen.  Wie das?  Ein Applet darf doch Verbindungen zu dem Server aufbauen, von dem es geladen wurde, oder ist das neuerdings nicht mehr so?

Jürgen


----------



## jloh (23. Okt 2014)

Crosspost (sorry), Thread läuft auf http://forum.**********.net/threads/13142-access-denied-(“java-net-SocketPermission”…)-mit-Java-8 (********** = b y t e - w e l t)


----------

