QNetworkAccessManager and SSL x64



  • It was strange to find that I had to copy two files into my application binaries location in order to get SSL working with the network access manager - but that worked for the Win32 version of the application.

    It fails for the x64 version, and I can't find 64 bit versions of:

    libeay32.dll
    ssleay32.dll
    

    I'm using Qt 5.6 - where should I be obtaining these DLLs from? I presume these are OpenSLL dependencies as I found these DLLs in the QT Creator bin directory.

    Is there some package from Qt that I failed to obtain?

    Please, for the love of all things, don't let the answer be "build SSL yourself."


  • Lifetime Qt Champion

    Hi,

    What about download the 64 bit version of OpenSSL here ? :)

    The Qt installation package comes with OpenSSL support but the OpenSSL libraries are not part of the package due to legal restrictions in some countries.



  • ...because I don't trust them, I trust Qt? (Ergo, I don't know the version, the build switches, the patch level, et cetera.)

    Anything I introduce into our build system has to be evaluated by security - it was an effort to get Qt accepted. There's no way I can just download some DLLs (which wouldn't solve my OSX/Linux dependencies anyhow) off some random guy's website.

    It seems odd that Qt doesn't provide binaries for its binary runtime dependencies that open source are separate from the operating system. You already have to build them for Qt Creator in any case.

    Given the price we paid in professional licenses, this seems a shortcoming that it would be nice to have addressed.

    I guess I'll just have to build that monstrosity myself.


  • Lifetime Qt Champion

    I completely understand the reasoning but that's one tiny detail you should have mentioned in the first place.

    For OS X, you don't have that problem because the OS already provides OpenSSL. Note that you have now the option to use the Secure Transport backend.

    And for Linux, AFAIK, all supported distributions comes with OpenSSL pre-installed.

    Windows is a corner case.

    As for the providing OpenSSL as run time dependencies, you should rather contact the Qt Company directly about that matter (more so since you have a commercial license) but like already stated in the documentation, legal restrictions apply in certain countries when you provide software that use strong encryption.



  • Well, I don't know about you, but the last time I checked OSX shipped with practically ancient openssl, so yes, you would have to rebuild it. It also ships, afaik, only with the 64-bit versions of the library.

    Linux has the same problems, but not as bad (much more recent version, but still problematic.) Again, for my personal use - this isn't an issue - it's just for production application support this is pretty much a no go solution :(.

    I put in a support ticket to see what Qt recommends.

    Appreciated.


  • Lifetime Qt Champion

    The adjective was missing from my statement but yes, it's clearly too old. The only advantage of it is that it has integration for the keychain. Note that I don't try do convince you of anything just adding a bit of information. That's also why I mentioned the Secure Transport backend that you might be interested in.

    OS X's OpenSSL library is multi arch and contains both 32 and 64 build.



  • @SGaist said:

    OS X's OpenSSL library is multi arch and contains both 32 and 64 build.

    What, is it one of those 'universal binary' packages?


  • Lifetime Qt Champion

    "Universal for Intel" build.

    Earlier universal meant you would also have the PowerPC builds together with the Intel when these architectures where supported by Apple.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.