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 Qt 5.15 support OpenSSL 3.x?
Forum Updated to NodeBB v4.3 + New Features

Does Qt 5.15 support OpenSSL 3.x?

Scheduled Pinned Locked Moved Solved Installation and Deployment
27 Posts 11 Posters 11.6k Views 5 Watching
  • 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.
  • Q Offline
    Q Offline
    QuantumTransistor
    wrote on last edited by
    #14

    Thanks @Taytoo, I'll give static linking a try. Which version of Qt are you using? This bug report gives a patch for using 5.15.9 with OpenSSL 3. I'm using 5.15.10 (the latest available open-source), and not sure if a similar patch is still needed.

    1 Reply Last reply
    0
    • Q Offline
      Q Offline
      QuantumTransistor
      wrote on last edited by
      #15

      Following the suggestion from @Taytoo, I got Qt5.15.10 and OpenSSL 3.1.1 to work correctly for my application.

      OpenSSL configure settings were:

      -openssl-linked OPENSSL_INCDIR="C:\Path\To\OpenSSL\3.1.1\include" OPENSSL_LIBDIR="C:\Path\To\OpenSSL\3.1.1\lib\VC\static" OPENSSL_LIBS="-lWs2_32 -lGdi32 -lAdvapi32 -lCrypt32 -lUser32" OPENSSL_LIBS_DEBUG="-llibssl64MDd -llibcrypto64MDd" OPENSSL_LIBS_RELEASE="-llibssl64MD -llibcrypto64MD"
      

      Still a bit puzzled why -openssl-runtime doesn't work, but I'll keep trying now that I know the codes are compatible.

      T 1 Reply Last reply
      1
      • Q QuantumTransistor

        Following the suggestion from @Taytoo, I got Qt5.15.10 and OpenSSL 3.1.1 to work correctly for my application.

        OpenSSL configure settings were:

        -openssl-linked OPENSSL_INCDIR="C:\Path\To\OpenSSL\3.1.1\include" OPENSSL_LIBDIR="C:\Path\To\OpenSSL\3.1.1\lib\VC\static" OPENSSL_LIBS="-lWs2_32 -lGdi32 -lAdvapi32 -lCrypt32 -lUser32" OPENSSL_LIBS_DEBUG="-llibssl64MDd -llibcrypto64MDd" OPENSSL_LIBS_RELEASE="-llibssl64MD -llibcrypto64MD"
        

        Still a bit puzzled why -openssl-runtime doesn't work, but I'll keep trying now that I know the codes are compatible.

        T Offline
        T Offline
        Taytoo
        wrote on last edited by
        #16

        @QuantumTransistor I've never linked with openssl dynamically, so can't really help with that. Try changing Lib path to point towards .so/.dll files instead and see if that works.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          seyed
          wrote on last edited by
          #17

          I used OpenSSL 3 to build Qt 5.15.10 successfully, but at runtime, I faced problems:

          qt.network.ssl: QSslSocket: cannot resolve EVP_PKEY_base_id
          qt.network.ssl: QSslSocket: cannot resolve SSL_get_peer_certificate
          Build version: "OpenSSL 3.1.1 30 May 2023"
          Run version: "OpenSSL 3.1.1 30 May 2023"
          Supports SSL: true
          

          Finally, porting changes from Qt 6 to 5 results in a successful build and run. 🎉
          Read my gist for steps

          1 Reply Last reply
          1
          • Q Offline
            Q Offline
            QuantumTransistor
            wrote on last edited by QuantumTransistor
            #18

            @seyed - I used the patch from your gist and was able to successfully build and use Qt 5.15.10 with OpenSSL 3.1.2 using -openssl-runtime. Thanks!! 🎉

            ocgltdO 1 Reply Last reply
            1
            • Q QuantumTransistor

              @seyed - I used the patch from your gist and was able to successfully build and use Qt 5.15.10 with OpenSSL 3.1.2 using -openssl-runtime. Thanks!! 🎉

              ocgltdO Offline
              ocgltdO Offline
              ocgltd
              wrote on last edited by ocgltd
              #19

              I hope to avoid rebuilding Qt + patches. Will Qt release a 5.15.x update that will allow compilation against openssl 3 ?

              SGaistS Q 2 Replies Last reply
              0
              • ocgltdO ocgltd

                I hope to avoid rebuilding Qt + patches. Will Qt release a 5.15.x update that will allow compilation against openssl 3 ?

                SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #20

                @ocgltd if memory serves well, the 5.15 LTS has support for OpenSSL 3 so it should eventually come to be.

                You might want to check the KDE patch set for Qt.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • ocgltdO ocgltd

                  I hope to avoid rebuilding Qt + patches. Will Qt release a 5.15.x update that will allow compilation against openssl 3 ?

                  Q Offline
                  Q Offline
                  QuantumTransistor
                  wrote on last edited by
                  #21

                  @ocgltd according to a comment on this bug report, OpenSSL 3 is supported with Qt 5.15.13 onwards. If you are using the open-source version, this should be available 9 March 2024 (one year after the commercial release date).

                  piervalliP 1 Reply Last reply
                  0
                  • Q QuantumTransistor

                    @ocgltd according to a comment on this bug report, OpenSSL 3 is supported with Qt 5.15.13 onwards. If you are using the open-source version, this should be available 9 March 2024 (one year after the commercial release date).

                    piervalliP Offline
                    piervalliP Offline
                    piervalli
                    wrote on last edited by piervalli
                    #22

                    @QuantumTransistor
                    Openssl works with 5.15.13 (open source) but we need to compiare with c++17

                    SGaistS 1 Reply Last reply
                    0
                    • piervalliP piervalli

                      @QuantumTransistor
                      Openssl works with 5.15.13 (open source) but we need to compiare with c++17

                      SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #23

                      @piervalli what issue do you have with C++17 ?
                      Qt 5 requires C++11 and OpenSSL is C.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      piervalliP 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        @piervalli what issue do you have with C++17 ?
                        Qt 5 requires C++11 and OpenSSL is C.

                        piervalliP Offline
                        piervalliP Offline
                        piervalli
                        wrote on last edited by
                        #24

                        @SGaist
                        The issue is with Qt 5.15.13 and build by source I haved setted c++17 for that error.
                        text\qlocale_win.cpp:498:60: error: 'size' is not a member of 'std'

                        I used Mingw 8.1

                        JonBJ 1 Reply Last reply
                        0
                        • piervalliP piervalli

                          @SGaist
                          The issue is with Qt 5.15.13 and build by source I haved setted c++17 for that error.
                          text\qlocale_win.cpp:498:60: error: 'size' is not a member of 'std'

                          I used Mingw 8.1

                          JonBJ Online
                          JonBJ Online
                          JonB
                          wrote on last edited by
                          #25

                          @piervalli
                          Since https://en.cppreference.com/w/cpp/iterator/size states that C++17 onward is required for std::size() it ought be present. (You might show line #498 of text\qlocale_win.cpp so we know what the call looks like.) That implies either you are not setting for C++17 correctly or the MinGW does not have correct support for it. You might look in the appropriate std::... header file to see what is/is not there for this.

                          piervalliP 1 Reply Last reply
                          1
                          • JonBJ JonB

                            @piervalli
                            Since https://en.cppreference.com/w/cpp/iterator/size states that C++17 onward is required for std::size() it ought be present. (You might show line #498 of text\qlocale_win.cpp so we know what the call looks like.) That implies either you are not setting for C++17 correctly or the MinGW does not have correct support for it. You might look in the appropriate std::... header file to see what is/is not there for this.

                            piervalliP Offline
                            piervalliP Offline
                            piervalli
                            wrote on last edited by
                            #26

                            @JonB Thanks

                            JonBJ 1 Reply Last reply
                            0
                            • piervalliP piervalli

                              @JonB Thanks

                              JonBJ Online
                              JonBJ Online
                              JonB
                              wrote on last edited by JonB
                              #27

                              @piervalli
                              Hang on, I see a problem!

                              Go to that cppreference page. Look at the sample code. Go pick the various c++17 compilers it offers. With GCC 13.1 (C++17) it compiles fine. But with GCC 5.2 (C++17) I get the same error as you show.

                              So which gcc is the MinGW supposed to emulate? You can go to https://godbolt.org/ and play with selecting different compilers, they include MinGW choices. The oldest they have is MinGW gcc 11.3.0, that seems to work (only errors on std::ssize() in that code, which requires C++20, fair enough).

                              1 Reply Last reply
                              0
                              • JonBJ JonB referenced this topic on

                              • Login

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