Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Using QSslSocket with custom OpenSSL
Forum Updated to NodeBB v4.3 + New Features

Using QSslSocket with custom OpenSSL

Scheduled Pinned Locked Moved Unsolved General and Desktop
c++ qtopensslsslwindows 10
41 Posts 9 Posters 33.3k Views 3 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #28

    You can build Qt with the -openssl-linked option and point configure to your self-built version of OpenSSL.

    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
    • O Offline
      O Offline
      Opa114
      wrote on last edited by
      #29

      @SGaist said in Using QSslSocket with custom OpenSSL:

      You can build Qt with the -openssl-linked option and point configure to your self-built version of OpenSSL.

      i tried it that way, but buildung QT 5.7 with OpenSSL 1.1.0b ist not supported till QT 5.9 because in OpenSSL are some changes done, so that building QT 5.7 with that new OpenSSL version did not work. See here: https://bugreports.qt.io/browse/QTBUG-52905

      Then i tried it with an older version of OpenSSL (1.0.2j) - this works.

      But what ist the difference between building Qt gainst OpenSSL with -openssl on running the configure-command and to link against the OpenSSL headers and libs and build it inside the Project? If i build against OpenSSL i have to include the headers anyway to work with the libs if i want to use the OpenSSL specific stuff.

      And i noticed that i can replace the built in OpenSSL libs with the own build one. So it would be much simpler to include the ehaders of OpenSSL via INCLUDEPATH. So i get OpenSSL support = true on output of: qDebug() << QSslSocket::supportsSsl();

      And if print out his i got the Output which i wrote behind:
      qDebug() << QSslSocket::sslLibraryBuildVersionString(); // OpenSSL 1.0.2g 1 Mar 2016
      qDebug() << QSslSocket::sslLibraryVersionString(); // OpenSSL 1.0.2j 26 Sep 2016

      Why is the first one at all time: OpenSSL 1.0.2g 1 Mar 2016 - This i got, too if i build Qt at own and link against OpenSSL 1.0.2j??

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #30

        It's in the docs:
        sslLibraryBuildVersionString is returning the version of the OpenSSL library used when building Qt.
        sslLibraryVersionString is returning the version of the OpenSSL library used at run time.

        By default OpenSSL is dlopened because some countries have restrictions about encryption related software and OpenSSL can't be distributed just like that.

        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
        • O Offline
          O Offline
          Opa114
          wrote on last edited by
          #31

          Thanks! But why are my versions different?
          I build Qt with OpenSSL 1.0.2j, so both outputs must be the same or not?

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #32

            Silly question but are you sure that you are using your self-build Qt in your kit ?

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

            O 1 Reply Last reply
            0
            • SGaistS SGaist

              Silly question but are you sure that you are using your self-build Qt in your kit ?

              O Offline
              O Offline
              Opa114
              wrote on last edited by Opa114
              #33

              @SGaist said in Using QSslSocket with custom OpenSSL:

              Silly question but are you sure that you are using your self-build Qt in your kit ?

              yes :)
              could it have to do with Qt-Creator, which was build with another version?

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #34

                No, the Qt version used to build Qt Creator doesn't affect any any way the Qt version you are using with your kit.

                Do you have another OpenSSL version installed on your system ?

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

                O C 2 Replies Last reply
                0
                • SGaistS SGaist

                  No, the Qt version used to build Qt Creator doesn't affect any any way the Qt version you are using with your kit.

                  Do you have another OpenSSL version installed on your system ?

                  O Offline
                  O Offline
                  Opa114
                  wrote on last edited by
                  #35

                  @SGaist said in Using QSslSocket with custom OpenSSL:

                  on used to bui

                  no not installed like the precompiled OpenSSL Libraries. I searched the whole PC (Windows) for OpenSSL and libeay32.dll. I found many applications which are using OpenSSL but only one Application uses the specific OpenSSL version OpenSSL 1.0.2g 1 Mar 2016 i posted above. This Application is Adobe Lightroom.

                  Could this be the problem on building Qt that some shipped libeay32.dlls are used on build process?

                  1 Reply Last reply
                  0
                  • SGaistS SGaist

                    No, the Qt version used to build Qt Creator doesn't affect any any way the Qt version you are using with your kit.

                    Do you have another OpenSSL version installed on your system ?

                    C Offline
                    C Offline
                    CarlosQ
                    wrote on last edited by
                    #36

                    @SGaist Sorry, i have the same problem.
                    When i print:
                    qDebug() << QSslSocket::supportsSsl(); ==> false
                    qDebug() << QSslSocket::sslLibraryBuildVersionString(); ==> "OpenSSL 1.0.2g 1 Mar 2016"
                    qDebug() << QSslSocket::sslLibraryVersionString(); ==> ""

                    and i obtain these messages:
                    qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
                    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
                    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
                    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
                    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

                    I have instaled only Qt 5.7 on Windows 7 32. What can i do?
                    Thanks

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #37

                      Hi,

                      Do you have OpenSSL installed ? Built with the same compiler as Qt ? In a folder known to your application ?

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

                      C 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Hi,

                        Do you have OpenSSL installed ? Built with the same compiler as Qt ? In a folder known to your application ?

                        C Offline
                        C Offline
                        CarlosQ
                        wrote on last edited by
                        #38

                        @SGaist No, no and no. Ohhhh. i'll try to build the libraries.

                        Sorry, thanks.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #39

                          You can find here prebuilt versions of OpenSSL for various compilers.

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

                          C 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            You can find here prebuilt versions of OpenSSL for various compilers.

                            C Offline
                            C Offline
                            CarlosQ
                            wrote on last edited by
                            #40

                            @SGaist Thank you for the link. I was trying to build the libraries and I'm going crazy.

                            I have Qt 5.7.0 on a Windows 7 32 bits, which instalation should be correct?. I think "Win32 OpenSSL v1.1.0c". Is it ok?.

                            Thanks again.

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #41

                              IIRC there was a renaming of the libraries of OpenSSL so you'll have to double check.

                              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

                              • Login

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