Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Does Windows have to support OpenSSL in order for QT Application with OpenSSL to work?

Does Windows have to support OpenSSL in order for QT Application with OpenSSL to work?

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
10 Posts 2 Posters 923 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pktumedis
    wrote on last edited by
    #1

    Can an application that uses OpenSSL work on a Windows computer without OpenSSL support? Does the deployment depend on the version of Windows OpenSSL or providing the libraries(libssl and libcrypto) in a directory can be enough?

    1 Reply Last reply
    0
    • Christian EhrlicherC Online
      Christian EhrlicherC Online
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      According to the documentation:

      "If Qt was configured to link against ICU or OpenSSL, the respective DLL's need to be added to the ... folder, too."

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      P 1 Reply Last reply
      1
      • Christian EhrlicherC Christian Ehrlicher

        According to the documentation:

        "If Qt was configured to link against ICU or OpenSSL, the respective DLL's need to be added to the ... folder, too."

        P Offline
        P Offline
        pktumedis
        wrote on last edited by
        #3

        @Christian-Ehrlicher Even if I add the dlls in the same folder with .exe, it doesn't work on Windows 10.

        Christian EhrlicherC 1 Reply Last reply
        0
        • P pktumedis

          @Christian-Ehrlicher Even if I add the dlls in the same folder with .exe, it doesn't work on Windows 10.

          Christian EhrlicherC Online
          Christian EhrlicherC Online
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @pktumedis said in Does Windows have to support OpenSSL in order for QT Application with OpenSSL to work?:

          it doesn't work

          This is no error description.

          Which libraries do you use? You need the ones provided by Qt

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          P 1 Reply Last reply
          1
          • Christian EhrlicherC Christian Ehrlicher

            @pktumedis said in Does Windows have to support OpenSSL in order for QT Application with OpenSSL to work?:

            it doesn't work

            This is no error description.

            Which libraries do you use? You need the ones provided by Qt

            P Offline
            P Offline
            pktumedis
            wrote on last edited by
            #5

            @Christian-Ehrlicher When I run the application in its directory, QSslSocket::supportsSsl() gives true and QSslSocket::sslLibraryVersionString() gives "OpenSSL 1.1.1k". But when I put it in another directory these are false and empty therefore even if the application runs, OpenSSL related features don't work.
            I tried copying dlls from different builds including theQT version but none solved the problem.

            In addition to that, when I compile the same app on Windows 7 and run the .exe with dlls in the same directory, OpenSSL works. So I guess there is problem with Windows 10 computer.

            1 Reply Last reply
            0
            • Christian EhrlicherC Online
              Christian EhrlicherC Online
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #6

              Use ProcessExplorer or a debugger to see which openssl dlls are loaded and copy these to your executable folder.

              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
              Visit the Qt Academy at https://academy.qt.io/catalog

              P 1 Reply Last reply
              1
              • Christian EhrlicherC Christian Ehrlicher

                Use ProcessExplorer or a debugger to see which openssl dlls are loaded and copy these to your executable folder.

                P Offline
                P Offline
                pktumedis
                wrote on last edited by
                #7

                @Christian-Ehrlicher May I ask how can I use a debugger for this purpose?

                1 Reply Last reply
                0
                • Christian EhrlicherC Online
                  Christian EhrlicherC Online
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  Start your program in a debugger and see what dlls are getting loaded.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  P 2 Replies Last reply
                  0
                  • Christian EhrlicherC Christian Ehrlicher

                    Start your program in a debugger and see what dlls are getting loaded.

                    P Offline
                    P Offline
                    pktumedis
                    wrote on last edited by
                    #9

                    @Christian-Ehrlicher Somehow one of the shortcuts I created for an older compilation of the app now works with OpenSSL support.(I'm not sure what have caused this) The new ones I create after compiling are in the same situation, they don't work with openssl in different directories.

                    So I compared the two, the one with OpenSSL support takes its openssl dlls(libssl and libcrypto) from System32 directory. And one other difference for the working one was vcruntime140.dll. I copied these three dlls next to .exe file but nothing changed.

                    1 Reply Last reply
                    0
                    • Christian EhrlicherC Christian Ehrlicher

                      Start your program in a debugger and see what dlls are getting loaded.

                      P Offline
                      P Offline
                      pktumedis
                      wrote on last edited by
                      #10

                      @Christian-Ehrlicher Thanks so much for your help, I think I solved the problem. Inside the QT directory, there is plugins directory. And inside it there is tls directory which contains 3 dlls: certonlybackend.dll, opensslbackend.dll and schannelbackend.dll. I copied this tls directory next to .exe, I can deploy with OpenSSL now.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved