Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Does Qt 5.15 support OpenSSL 3.x?
Qt 6.12 LTS is out! See what's new in the release blog

Does Qt 5.15 support OpenSSL 3.x?

Scheduled Pinned Locked Moved Solved Installation and Deployment
27 Posts 11 Posters 24.2k 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
    #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 Offline
                        JonBJ Offline
                        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 Offline
                            JonBJ Offline
                            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
                            • Unsolved