Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?

Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?

Scheduled Pinned Locked Moved Unsolved Brainstorm
17 Posts 7 Posters 3.8k 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.
  • S Offline
    S Offline
    sierdzio
    Moderators
    wrote on 20 May 2019, 09:29 last edited by
    #2

    This is a discussion more suited for Qt development mailing list.

    I don't think depending on OpenSSL is an issue. It is, after all, an industry standard, regularly patched for better security. And Qt uses it internally so you as a Qt user do not have to bother with interacting with OpenSSL at all. You just link to it and that's it - all Qt network-related code will use secure connections with OpenSSL.

    (Z(:^

    S 1 Reply Last reply 20 May 2019, 09:58
    2
    • S sierdzio
      20 May 2019, 09:29

      This is a discussion more suited for Qt development mailing list.

      I don't think depending on OpenSSL is an issue. It is, after all, an industry standard, regularly patched for better security. And Qt uses it internally so you as a Qt user do not have to bother with interacting with OpenSSL at all. You just link to it and that's it - all Qt network-related code will use secure connections with OpenSSL.

      S Offline
      S Offline
      SeppyQT
      wrote on 20 May 2019, 09:58 last edited by
      #3

      @sierdzio

      commercial products are usign OpenSSL too? Hasn't Microsoft a SSL Implementation in their API?

      S 1 Reply Last reply 20 May 2019, 10:00
      0
      • S SeppyQT
        20 May 2019, 09:58

        @sierdzio

        commercial products are usign OpenSSL too? Hasn't Microsoft a SSL Implementation in their API?

        S Offline
        S Offline
        sierdzio
        Moderators
        wrote on 20 May 2019, 10:00 last edited by
        #4

        @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

        @sierdzio

        commercial products are usign OpenSSL too?

        Yes.

        Hasn't Microsoft a SSL Implementation in their API?

        I don't know.

        (Z(:^

        S 1 Reply Last reply 20 May 2019, 12:06
        0
        • S sierdzio
          20 May 2019, 10:00

          @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

          @sierdzio

          commercial products are usign OpenSSL too?

          Yes.

          Hasn't Microsoft a SSL Implementation in their API?

          I don't know.

          S Offline
          S Offline
          SeppyQT
          wrote on 20 May 2019, 12:06 last edited by
          #5

          @sierdzio

          I know BoringSSL from Google is an OpenSSL fork.

          Is s2n from Amazon based on OpenSSL?

          So what SSL Implementations are there which are not based on OpenSSL?

          Botan
          GnuTLS
          MatrixSSL (Now InsideSecure SSL Toolkit)
          BouncyCastle
          JSSE (Oracle)
          mbedTLS
          SChannel
          NSS (Mozilla)
          the one from Apple

          1 Reply Last reply
          0
          • S Offline
            S Offline
            sierdzio
            Moderators
            wrote on 20 May 2019, 12:11 last edited by
            #6

            I don't know, it's not really my area. I know I've used only OpenSSL, and when I had to use the library itself it was quite easy to find/make custom C++ wrappers for it (example: https://github.com/milosolutions/mcrypto).

            I don't quite get the purpose and current direction of this conversation anymore. Do you want to replace OpenSSL use in Qt with anything other than OpenSSL? Are you looking for a good crypto library for your own project?

            (Z(:^

            S 1 Reply Last reply 20 May 2019, 14:16
            0
            • S sierdzio
              20 May 2019, 12:11

              I don't know, it's not really my area. I know I've used only OpenSSL, and when I had to use the library itself it was quite easy to find/make custom C++ wrappers for it (example: https://github.com/milosolutions/mcrypto).

              I don't quite get the purpose and current direction of this conversation anymore. Do you want to replace OpenSSL use in Qt with anything other than OpenSSL? Are you looking for a good crypto library for your own project?

              S Offline
              S Offline
              SeppyQT
              wrote on 20 May 2019, 14:16 last edited by
              #7

              @sierdzio

              I was wondering why OpenSSL is used in many projects even there are suitable Alternatives for it. Like Botan as C++ library for C++ Projects.

              K S 2 Replies Last reply 20 May 2019, 14:33
              0
              • S SeppyQT
                20 May 2019, 14:16

                @sierdzio

                I was wondering why OpenSSL is used in many projects even there are suitable Alternatives for it. Like Botan as C++ library for C++ Projects.

                K Offline
                K Offline
                Konstantin Tokarev
                wrote on 20 May 2019, 14:33 last edited by
                #8

                Because OpenSSL is industry standard

                1 Reply Last reply
                3
                • S SeppyQT
                  20 May 2019, 14:16

                  @sierdzio

                  I was wondering why OpenSSL is used in many projects even there are suitable Alternatives for it. Like Botan as C++ library for C++ Projects.

                  S Offline
                  S Offline
                  sierdzio
                  Moderators
                  wrote on 20 May 2019, 19:22 last edited by
                  #9

                  @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                  @sierdzio

                  I was wondering why OpenSSL is used in many projects even there are suitable Alternatives for it. Like Botan as C++ library for C++ Projects.

                  As Konstantin said. And it is an industry standard because:

                  • history
                  • it works
                  • it's stable
                  • it's been audited multiple times
                  • people are trying to break it constantly
                  • and yet it remains secure

                  (Z(:^

                  1 Reply Last reply
                  2
                  • S SeppyQT
                    20 May 2019, 08:57

                    Hallo Community,

                    as far as I know Qt SSL requires OpenSSL. OpenSSL is C.

                    There is a C++ SSL Implementation called Botan. It looks nicer for me.

                    Since Qt is C++ it would make sense to stick with C++ Libraries as well.

                    Botan is Apache License 2.0.

                    What's the most annoying thing on C Code is: I checked their (OpenSSL and GNUTLS) DTLS examples:
                    All Variables are declared on the top of the function which forces you to remember their type (if you are not reading the code in the IDE which shows the type in a tooltip). Usage of Makros doesn't help since the types are not shown there. Especially they are polluting the global space with Enums and MAKROs.

                    In my opinion C++ Libraries are making less headaches.

                    JKSHJ Offline
                    JKSHJ Offline
                    JKSH
                    Moderators
                    wrote on 21 May 2019, 04:22 last edited by
                    #10

                    @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                    In my opinion C++ Libraries are making less headaches.

                    What headaches did you encounter while trying to use SSL in Qt? How will switching from OpenSSL to Botan cure those headaches?

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    S 1 Reply Last reply 22 May 2019, 12:51
                    0
                    • T Offline
                      T Offline
                      T-ark
                      Banned
                      wrote on 21 May 2019, 06:13 last edited by
                      #11
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • JKSHJ JKSH
                        21 May 2019, 04:22

                        @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                        In my opinion C++ Libraries are making less headaches.

                        What headaches did you encounter while trying to use SSL in Qt? How will switching from OpenSSL to Botan cure those headaches?

                        S Offline
                        S Offline
                        SeppyQT
                        wrote on 22 May 2019, 12:51 last edited by
                        #12

                        @JKSH

                        I am working on multiple projects (which are connected). One was DTLS GUI and DTLS console.

                        Now I am trying to build a GUI Cert Manager to partially automate my Certificate creation (for internal use).

                        Is it possible to create a CA root Certificate ?
                        And sign other certs with it?

                        Pablo J. RoginaP JKSHJ 2 Replies Last reply 22 May 2019, 13:46
                        0
                        • K Offline
                          K Offline
                          Konstantin Tokarev
                          wrote on 22 May 2019, 13:45 last edited by
                          #13

                          This doesn't have anything to do with Qt. Just read openssl manuals, it allows to create CA and sign certificates with a few simple commands

                          1 Reply Last reply
                          1
                          • S SeppyQT
                            22 May 2019, 12:51

                            @JKSH

                            I am working on multiple projects (which are connected). One was DTLS GUI and DTLS console.

                            Now I am trying to build a GUI Cert Manager to partially automate my Certificate creation (for internal use).

                            Is it possible to create a CA root Certificate ?
                            And sign other certs with it?

                            Pablo J. RoginaP Offline
                            Pablo J. RoginaP Offline
                            Pablo J. Rogina
                            wrote on 22 May 2019, 13:46 last edited by
                            #14

                            @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                            Is it possible to create a CA root Certificate ?
                            And sign other certs with it?

                            yes, you'll be creating self-signed certificates so be aware that such certificates are not meant to be used in a public environment as browsers or tools (i.e. curl) will refuse (at least initially) to create the secure connection

                            And with this question it looks like you're slightly moving away from the original topic. Would it be worth to create a new post for that?

                            Upvote the answer(s) that helped you solve the issue
                            Use "Topic Tools" button to mark your post as Solved
                            Add screenshots via postimage.org
                            Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                            1 Reply Last reply
                            1
                            • S SeppyQT
                              22 May 2019, 12:51

                              @JKSH

                              I am working on multiple projects (which are connected). One was DTLS GUI and DTLS console.

                              Now I am trying to build a GUI Cert Manager to partially automate my Certificate creation (for internal use).

                              Is it possible to create a CA root Certificate ?
                              And sign other certs with it?

                              JKSHJ Offline
                              JKSHJ Offline
                              JKSH
                              Moderators
                              wrote on 23 May 2019, 01:06 last edited by
                              #15

                              @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                              I am working on multiple projects (which are connected). One was DTLS GUI and DTLS console.

                              Now I am trying to build a GUI Cert Manager to partially automate my Certificate creation (for internal use).

                              Is it possible to create a CA root Certificate ?
                              And sign other certs with it?

                              I still don't see how switching to Botan will help anyone.

                              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                              S 1 Reply Last reply 9 Jul 2020, 23:05
                              1
                              • JKSHJ JKSH
                                23 May 2019, 01:06

                                @SeppyQT said in Brainstorm: Qt SSL is based on OpenSSL (C). Why not change to Botan (C++) ?:

                                I am working on multiple projects (which are connected). One was DTLS GUI and DTLS console.

                                Now I am trying to build a GUI Cert Manager to partially automate my Certificate creation (for internal use).

                                Is it possible to create a CA root Certificate ?
                                And sign other certs with it?

                                I still don't see how switching to Botan will help anyone.

                                S Offline
                                S Offline
                                SlySven
                                wrote on 9 Jul 2020, 23:05 last edited by
                                #16

                                One issue for GPLed projects is the licence terms for OpenSSL (at least for the 1.x versions) they include a couple of advertising clauses which means that it cannot be distributed with something that is licenced with the GPL (either 2.0 or 3.0)! This isn't a new issue https://bugreports.qt.io/browse/QTBUG-38400 dates from 2014 - yet strangely there is this blog from a KDE person about their experiments with making a Qt wrapper around GNUTLS in 2012 https://blogs.kde.org/2012/01/14/using-gnutls-qtcpsocket .

                                Pablo J. RoginaP 1 Reply Last reply 9 Jul 2020, 23:12
                                0
                                • S SlySven
                                  9 Jul 2020, 23:05

                                  One issue for GPLed projects is the licence terms for OpenSSL (at least for the 1.x versions) they include a couple of advertising clauses which means that it cannot be distributed with something that is licenced with the GPL (either 2.0 or 3.0)! This isn't a new issue https://bugreports.qt.io/browse/QTBUG-38400 dates from 2014 - yet strangely there is this blog from a KDE person about their experiments with making a Qt wrapper around GNUTLS in 2012 https://blogs.kde.org/2012/01/14/using-gnutls-qtcpsocket .

                                  Pablo J. RoginaP Offline
                                  Pablo J. RoginaP Offline
                                  Pablo J. Rogina
                                  wrote on 9 Jul 2020, 23:12 last edited by
                                  #17

                                  @SlySven you may want to watch BUG-76499 as the Qt developers are seeking to upgrade the API for cryptography.

                                  Upvote the answer(s) that helped you solve the issue
                                  Use "Topic Tools" button to mark your post as Solved
                                  Add screenshots via postimage.org
                                  Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                                  1 Reply Last reply
                                  2

                                  • Login

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