When you try to open a HTTPS URL with QSslSocket or QNetworkAccessManager class, you get the following errors:
QSslSocket: cannot call unresolved function SSLv3_client_method QSslSocket: cannot call unresolved function SSL_CTX_new QSslSocket: cannot call unresolved function ERR_get_error QSslSocket: cannot call unresolved function ERR_error_string
Solution
You need to install OpenSSL Win32 or Win64 binaries.
- Open Win32 OpenSSL Installation Project page.
- Download the latest "light" Win32 or Win64 installation package, for example "Win32 OpenSSL v0.9.8l Light".
- Install it to any location. Ignore "Microsoft Visual C++ 2008 Redistributables" warning (click OK) and select copying OpenSSL DLLs to "The OpenSSL binaries (\bin) directory".
- Copy
libeay32.dllandssleay32.dllfrom the \bin folder to the same place where yourQtNetwork4.dllorQtNetworkd4.dllis located.
Found it useful, In linux if same error occurs you need to have libcrypto.so and libssl.so in your /usr/lib
ReplyDeleteThx, I had problems with https and this fixed it, Good job sharing solution with others
ReplyDeleteThanks, you have done great job...
ReplyDeleteHOW IN LINUX?
ReplyDelete@Systek, install OpenSSL for linux, than you need to have libcrypto.so and libssl.so in your /usr/lib. Just copy paste them!
ReplyDeletethanks so much :)))))
ReplyDeleteIt was really helpful. Thanks.
ReplyDeleteHi,
ReplyDeleteI'm trying to open a HTTPS URL with QSslSocket or QNetworkAccessManager but I haven't had success. Do you have a HOWTO o some guidance about it?
Thanks
For Linux CentOS6 64bit, I resolved the error by doing the following:
ReplyDeleteyum install openssl-devel.x86_64
i did all above things....
ReplyDeleteBut still now i found this errors...
QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_error_string
when i trying to download a file through my own download manager devoloped by Qt...
plz help...
thankx in advanced...
thank so much
ReplyDeleteThanks
ReplyDeleteThanks a lot!
ReplyDeleteThanks a lot! That solved my problem :D
ReplyDeleteI do copy libcrypto.so and libssl.so in /usr/lib
ReplyDeletebut it doesn't solve the problem
This comment has been removed by the author.
ReplyDeleteI don't have libeay32.dll and ssleay32.dll in bin folder
ReplyDeleteAlso i can't find tNetwork4.dll or QtNetworkd4.dll (5 versions too), but I use QT += network and it works
Delete