Closed Tobisaninfo closed 9 years ago
Das geht Momentan nur mit dem tomcat-transmitter. Hier gibt es eine Anleitung wie man den benutzen kann. Eventuell ist die aber nicht mehr ganz up-to-date. Da der tomcat-transmitter ein normales Serlvet ist, kann Verschlüsslung und Authorisierung mit den normalen Tomcat-Mitteln (z.B. web.xml) sichergestellt werden.
Auf Clientseite kann muss man dann den NettyWebsocketClient verwenden. Dabei kann man dann auch nicht den SynchronizeFxBuilder verwenden aber man kann sich dort im Sourcecode ansehen, wie man die einzelnen SynchronizeFX Klassen manuell zusammenstecken muss. Dem NettyWebsocketClient
kann man HTTP-Header übergeben mit denen man z.B. Basic-Auth realisieren kann. Anhand des Protokolls ("ws://..." oder "wss://") kann man festlegen ob man eine verschlüsselte oder unverschlüsselte Verbindung haben möchte.
Der NettyWebsocketClient
kann momentan nur verschlüsseln. Das Serverzertifikat wird nicht validiert womit aktive Angriffe wie Man-in-the-Middle möglich sind. Passives mithören wird aber verhindert.
Für die Verschlüßlung bei der normalen TCP-Verbindung gibt es Bug #6. Der Hauptaufwand dort ist zu klären wie man ohne jegliche Konfiguration eine verschlüsselte, aber nicht validierte Verbindung aufbauen kann. Der SSL/TLS Stack von Java scheint für den Server unbedingt ein Zertifikat zu benötigen, bietet aber keine Möglichkeiten ein temporäres zur Laufzeit zu erzeugen. Anscheinend muss man eines mit externen Mitteln wie keytool erzeugen, was aber für den Benutzer relativ aufwendig ist.
Further discussion on how to implement encryption in the netty-transmitter can be done in #6.
Gibt es eine Möglichkeit die Verbindung zu verschlüsseln?