No "hack" should be required to get SSL to work if the server is issuing a valid certificate signed by a CA the client side OpenSSL library is aware of. If the server is using a self-signed certificate then that certificate must be manually installed where the SSL library will find it (or try QSslConfiguration, I am not sure if this has global effects)

Sending a client certificate is a whole different problem. It is not worth the effort... It does not make the connection more secure.