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?
Forum Updated to NodeBB v4.3 + New Features

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 953 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 3 Aug 2021, 08:32 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
    • C Offline
      C Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on 3 Aug 2021, 08:35 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 3 Aug 2021, 09:57
      1
      • C Christian Ehrlicher
        3 Aug 2021, 08:35

        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 3 Aug 2021, 09:57 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.

        C 1 Reply Last reply 3 Aug 2021, 09:59
        0
        • P pktumedis
          3 Aug 2021, 09:57

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

          C Offline
          C Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on 3 Aug 2021, 09:59 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 3 Aug 2021, 10:51
          1
          • C Christian Ehrlicher
            3 Aug 2021, 09:59

            @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 3 Aug 2021, 10:51 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
            • C Offline
              C Offline
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on 3 Aug 2021, 11:00 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 3 Aug 2021, 11:10
              1
              • C Christian Ehrlicher
                3 Aug 2021, 11:00

                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 3 Aug 2021, 11:10 last edited by
                #7

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

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on 3 Aug 2021, 11:27 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 3 Aug 2021, 16:05
                  0
                  • C Christian Ehrlicher
                    3 Aug 2021, 11:27

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

                    P Offline
                    P Offline
                    pktumedis
                    wrote on 3 Aug 2021, 16:05 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
                    • C Christian Ehrlicher
                      3 Aug 2021, 11:27

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

                      P Offline
                      P Offline
                      pktumedis
                      wrote on 4 Aug 2021, 14:39 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

                      7/10

                      3 Aug 2021, 11:10

                      • Login

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