qt.network.ssl: QSslSocket cannot resolve...
-
I'm getting a bunch of these messages displayed in the Application Output during startup:
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_client_callback qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_server_callback qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_use_psk_identity_hint qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated qt.network.ssl: QSslSocket: cannot resolve SSL_set_alpn_protos qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_alpn_select_cb qt.network.ssl: QSslSocket: cannot resolve SSL_get0_alpn_selected
I'm not sure whats causing these, it seems to occur as soon as a QML file is set-up.
-
You are not linking OpenSSL or using outdated OpenSSL (v1.0x) - these are messages about missing OSSL libs.
If your application is communicating with web servers via HTTPS, you need to fix this urgently!
But if you are not using HTTPS, you can ignore them.
-
Compile OpenSSL and link it to your project, separately for each platform.
On Android you can use KDAB's scripts: https://github.com/KDAB/android_openssl
There is also some documentation about it https://doc.qt.io/qt-5/android-openssl-support.html
-
Compile OpenSSL and link it to your project, separately for each platform.
On Android you can use KDAB's scripts: https://github.com/KDAB/android_openssl
There is also some documentation about it https://doc.qt.io/qt-5/android-openssl-support.html
-
On the node of OpenSSL I would like to mention, that the QtOnlineInstaller now comes with the option to download the correct/needed openssl dll's no need to search for/compile the correct versions yourself anymore 🎉
-
On the node of OpenSSL I would like to mention, that the QtOnlineInstaller now comes with the option to download the correct/needed openssl dll's no need to search for/compile the correct versions yourself anymore 🎉
@J-Hilk , its very odd, I have two projects, one is a newer version of the original project and that does not come up with these messages. The project I'm working on is the original version and my task is to port it to Qt 5.8.
I've compared the .pro files and the libraries included are the same, I've also single stepped the source, these messages do not appear until the QML is opened.
-
@J-Hilk , its very odd, I have two projects, one is a newer version of the original project and that does not come up with these messages. The project I'm working on is the original version and my task is to port it to Qt 5.8.
I've compared the .pro files and the libraries included are the same, I've also single stepped the source, these messages do not appear until the QML is opened.
@SPlatten well QML allows for network access (its well integrated)
This for example:
Window { id: window width: 800 height: 600 visible: true Image { anchors.fill: parent source: "https://www.extremetech.com/wp-content/uploads/2020/01/NASA-Sun.jpg" fillMode: Image.PreserveAspectFit } }
works fine and should require openssl support
-
@SPlatten well QML allows for network access (its well integrated)
This for example:
Window { id: window width: 800 height: 600 visible: true Image { anchors.fill: parent source: "https://www.extremetech.com/wp-content/uploads/2020/01/NASA-Sun.jpg" fillMode: Image.PreserveAspectFit } }
works fine and should require openssl support
-
@SPlatten said in qt.network.ssl: QSslSocket cannot resolve...:
SSL_set_psk_client_callback
The missing symbols were added in OpenSSL 1.1.1. Most likely you are still linking OpenSSL 1.1.0 or something.
-
@SPlatten said in qt.network.ssl: QSslSocket cannot resolve...:
SSL_set_psk_client_callback
The missing symbols were added in OpenSSL 1.1.1. Most likely you are still linking OpenSSL 1.1.0 or something.
-
Just the regular linking:
INCLUDEPATH+=/path/to/openssl LIBS+=/path/to/openssl
I don't see any openSSL references in the source
Then, as I mention, you can just ignore these messages. Or disable them using categorizable logging config.
-
Just the regular linking:
INCLUDEPATH+=/path/to/openssl LIBS+=/path/to/openssl
I don't see any openSSL references in the source
Then, as I mention, you can just ignore these messages. Or disable them using categorizable logging config.
-
@SPlatten said in qt.network.ssl: QSslSocket cannot resolve...:
@sierdzio can this actually disable runtime messages?
Yes that's exactly what it's for :-)
-
@SPlatten said in qt.network.ssl: QSslSocket cannot resolve...:
@sierdzio can this actually disable runtime messages?
Yes that's exactly what it's for :-)
-
@SPlatten if you are on Windows then simply copying
libcrypto-1_1.dll
andlibssl-1_1.dll
from the OpenSSL binaries (install them via the Qt Installer) to the path that contains your.exe
should fix this as well (without needing to explicitly link at compile time).