[Interest] Win:TLS error/OSX:backward compatibility

Thiago Macieira thiago.macieira at intel.com
Sun Aug 2 19:31:13 CEST 2020


On Saturday, 1 August 2020 00:13:21 PDT Alexander CarĂ´t wrote:
> Hello all,
> 
> my software's websocket server is now running in secure mode including
> certificate integration. This works great apart from two details.
> 
> 1.) On some Windows machines I get the following error:
> 
> qt.network.ssl: QSslSocket::startServerEncryption: TLS initialization failed
> 
> I believe there are some missing libs on these machine but I am not sure how
> to resolve this issue conveniently.

That warning is printed when you try to use one of the QSslSocket functions 
that require OpenSSL and the OpenSSL libraries are not found.

Make sure QSslSocket::supportSsl() returns true. You have to ship the OpenSSL 
1.1 libraries yourself, they are not part of Qt, not even of the pre-built 
binaries.

> 2.) In order to provide backward compatibility on OSX I am typically
> providing two versions: 10.15 and 10.14 are being compiled with the recent
> version of Qt. This binary launches with 10.13 but throws an errors about
> missing symbols in libSystem.B.dylib

Are you sure you built Qt with a minimum target version of 10.13?

> For 10.12 and lower I am compiling my app with Qt version 5.9 which works a
> usual but the new encryption calls obviously don't. With this version the
> SSL handshake between browser and app fails.

Qt 5.9 cannot do SSL/TLS in 2020 outside of a Mac. You must upgrade to 5.10 at 
a minimum. On a Mac, because Qt has used SecureTransport for years, it can 
work. But it could have issues I am not aware of.

Either way, Apple stopped supporting 10.12 last year.

> Can anyone send me hint how to provide backward compatibility at least to
> 10.13 (fixing the symbol issue) or lower (fixing the SSL issue) ?

You didn't say what symbols they were.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering





More information about the Interest mailing list