[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