Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
SslSocket encrypted() never called on server side on Ubuntu
dieake last edited by
I am building a server/client using a secured connection. I provided my code in a zip file so you can test it out. The "client" and "server" and "server_signals" folders contain the required pro files. Use it by launching a server and then a client to make a connection.
The "server" folder contains a blocking approach to the problem and works on all OSes no problem.
/!\ Please run the executables from within their folder since I'm using relative paths for the certificates.
If you try to launch the server in the server_signals folder, that code does not work for me on Ubuntu 12.04 LTS x64 (and also x86) nor Fedora 20 x64 (both inside a virtualbox), but works perfectly on OSX Mavericks.
EDIT: A friend just tested the code on Windows 7 x64 and there it also works.
EDIT2: Another friend tested on Arch Linux x64 and it doesn't work, so it's not Virtualbox related but more linux related.
I compiled this code using Qt 5.1.2.
When using the server_signals server, the encrypted() signal is never called on the server side in ubuntu or fedora.
Inside virtualbox, on Ubuntu 12.04 or Fedora 20 KDE x64, when launching ./server in the server_signals folder, and then ./test in client, the connection times out (encrypted() never called). No Ssl errors or anything are triggered.
On OSX it works no problem.
I then tried to compile Qt 4.8 from source with -openssl. When compiling with that version, I get a SslSocketNotifier warning that there are multiple notifiers on one socket (for read). But still same behavior (timeout).
"You can dowload the folder with certificates and everything here":https://dl.dropboxusercontent.com/u/14545897/Qtssl.zip