Add SSL support to the Autobahn WebSocket library

Secure Web Sockets on Android

This project is meant to add working TLS support to the Autobahn WebSocket library as a preliminary step to implementation at work.

The problem being solved was in part switching the Autobahn library off of Java NIO. Java NIO is broken on Android and you must use the classic java sockets. Android Issue 12955

The project comes with an example Android WebSocket Echo client that communicates with's echo server with or without SSL encryption.

A quick demonstration for Android

1. Launch the emulator 
2. ./gradlew assembleDebug
3. adb install out/production/SecureWebSockets/SecureWebSockets.apk

To disable SSL certificate checks you can tell SSLCertificateSocketFactory to relax its checks:

On development devices, "setprop socket.relaxsslcheck yes" bypasses all SSL certificate and hostname checks for testing purposes. This setting requires root access.