2016-08-05 10 views
0

Ich habe eine Java-Web-Start-Anwendung, die einen lokalen Websocket-Server ausführt. Diese App empfängt einige Daten, signiert diese Daten und sendet die signierten Daten über die Websocket-Verbindung an den Browser zurück. Ich benutze Tyrus-Container als meinen lokalen Websocket-Server. Vor kurzem fand ich mich fest: der Browser versucht, eine Verbindung zu dem WS in einem SSL-Kontext herzustellen, aber mein WS-Server unterstützt nicht gesicherte Websocket-Verbindungen.Ist es möglich, einen eigenständigen Tyrus Websocket Server mit SSL zu betreiben?

ich folgende Fehlermeldung bekam:

Mixed Content: The page at ' https://example.com ' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://localhost:8025/sign/'. This request has been blocked; this endpoint must be available over WSS.

Uncaught SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

Mit anderen Worten, Tyrus gibt mir nicht so etwas wie das:

new org.glassfish.tyrus.server.Server.Server("wss", "localhost", 8025, "/sign", null, MyClass.class); 

Gibt es eine Möglichkeit, dass ich Tyrus Server mit SSL laufen kann oder Kennt jemand einen anderen in sich geschlossenen Websocket-Server?

Vielen Dank im Voraus

Antwort

1

fand ich heraus, dass Netty IO (https://github.com/netty/netty) die Fähigkeit, Secure Sockets in einer eigenständigen Art und Weise zur Verfügung zu stellen hat. Jedoch gab ich auf, weil ich ein gültiges digitales Zertifikat (jks) innerhalb meiner Java Web-Start-Anwendung zur Verfügung stellen musste. Dies ist ein großes Sicherheitsproblem, da jeder das JAR-Objekt dekompilieren und dieses Zertifikat zum Erstellen einer Website oder zum Signieren von Dokumenten mit meinen Anmeldeinformationen verwenden kann.

Also habe ich meine Logik zu einem Web-Socket-Server von einem JBoss instanziiert.

Verwandte Themen