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.1k 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 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