Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [Need Help]: Qt5.15 support iOS TLS 1.3
Forum Updated to NodeBB v4.3 + New Features

[Need Help]: Qt5.15 support iOS TLS 1.3

Scheduled Pinned Locked Moved Solved Mobile and Embedded
9 Posts 4 Posters 624 Views 2 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.
  • C Offline
    C Offline
    CellCS
    wrote on 5 Jun 2025, 20:32 last edited by
    #1

    Now is using Qt5.15.19, and using

    #if defined(Q_OS_IOS)
    #if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
        sslConfig.setProtocol(QSsl::TlsV1_2OrLater);
    #else
        sslConfig.setProtocol(QSsl::TlsV1_3OrLater);
    #endif
    #elif defined(Q_OS_ANDROID)
        sslConfig.setProtocol(QSsl::TlsV1_3OrLater);
    #endif
    

    When when build by using Xcode and set mimi iOS as 13, get:

    QTcpSocket(0x15c4c2430) SecureTransport does not support TLS 1.3
    qt.network.ssl: QTcpSocket(0x15c4c2430) SecureTransport does not support TLS 1.3
    

    Any suggestions? thanks a lot.

    C 1 Reply Last reply 11 Jun 2025, 19:00
    0
    • J Offline
      J Offline
      JKSH
      Moderators
      wrote on 6 Jun 2025, 00:40 last edited by JKSH 6 Jun 2025, 00:40
      #2

      You could...

      1. Install the OpenSSL development libraries
      2. Rebuild the Qt libraries from source
      3. Add the OpenSSL library folder to your project's DYLD_LIBRARY_PATH

      See:

      • General information about building Qt 5.15 from source code on macOS: https://doc.qt.io/qt-5/macos-building.html
      • Instructions on how to make Qt Network use OpenSSL: https://doc.qt.io/qt-5/ssl.html#enabling-and-disabling-ssl-support

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

      1 Reply Last reply
      1
      • C CellCS
        5 Jun 2025, 20:32

        Now is using Qt5.15.19, and using

        #if defined(Q_OS_IOS)
        #if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
            sslConfig.setProtocol(QSsl::TlsV1_2OrLater);
        #else
            sslConfig.setProtocol(QSsl::TlsV1_3OrLater);
        #endif
        #elif defined(Q_OS_ANDROID)
            sslConfig.setProtocol(QSsl::TlsV1_3OrLater);
        #endif
        

        When when build by using Xcode and set mimi iOS as 13, get:

        QTcpSocket(0x15c4c2430) SecureTransport does not support TLS 1.3
        qt.network.ssl: QTcpSocket(0x15c4c2430) SecureTransport does not support TLS 1.3
        

        Any suggestions? thanks a lot.

        C Offline
        C Offline
        CellCS
        wrote on 11 Jun 2025, 19:00 last edited by
        #3

        @JKSH

        Thanks a lot. here is my current steps.

        1. download qt source code.
        2. .configure with using open-ssl linked.
        3. make, make install
        4. qt creator link this qt.
        5. Xcode run, but meet some errors, even adding "QMAKE_CXXFLAGS += -DQML_DISABLE_JIT" in qtbase/mkspecs/common/ios.conf,
        "JSC::Yarr::digitsCreate()", referenced from:
              JSC::Yarr::YarrPattern::digitsCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
          "JSC::Yarr::spacesCreate()", referenced from:
              JSC::Yarr::YarrPattern::spacesCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
          "JSC::Yarr::newlineCreate()", referenced from:
              JSC::Yarr::YarrPattern::newlineCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
          "JSC::Yarr::wordcharCreate()", referenced from:
              JSC::Yarr::YarrPattern::wordcharCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
          "JSC::Yarr::nondigitsCreate()", referenced from:
              JSC::Yarr::YarrPattern::nondigitsCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
          "JSC::Yarr::nonspacesCreate()", referenced from:
              JSC::Yarr::YarrPattern::nonspacesCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
          "JSC::Yarr::nonwordcharCreate()", referenced from:
              JSC::Yarr::YarrPattern::nonwordcharCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
          "JSC::Yarr::wordUnicodeIgnoreCaseCharCreate()", referenced from:
              JSC::Yarr::YarrPattern::wordUnicodeIgnoreCaseCharCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
          "JSC::Yarr::nonwordUnicodeIgnoreCaseCharCreate()", referenced from:
              JSC::Yarr::YarrPattern::nonwordUnicodeIgnoreCaseCharCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
        ld: symbol(s) not found for architecture arm64
        clang++: error: linker command failed with exit code 1 (use -v to see invocation)
        

        any suggestions? thanks a lot

        C 1 Reply Last reply 12 Jun 2025, 16:11
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 11 Jun 2025, 19:03 last edited by
          #4

          Hi,

          How exactly did you configure Qt ?
          What kind of Mac are you using ? Intel or Apple Silicon ?

          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
          • C Offline
            C Offline
            CellCS
            wrote on 12 Jun 2025, 14:19 last edited by
            #5
            This post is deleted!
            1 Reply Last reply
            0
            • C CellCS
              11 Jun 2025, 19:00

              @JKSH

              Thanks a lot. here is my current steps.

              1. download qt source code.
              2. .configure with using open-ssl linked.
              3. make, make install
              4. qt creator link this qt.
              5. Xcode run, but meet some errors, even adding "QMAKE_CXXFLAGS += -DQML_DISABLE_JIT" in qtbase/mkspecs/common/ios.conf,
              "JSC::Yarr::digitsCreate()", referenced from:
                    JSC::Yarr::YarrPattern::digitsCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
                "JSC::Yarr::spacesCreate()", referenced from:
                    JSC::Yarr::YarrPattern::spacesCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
                "JSC::Yarr::newlineCreate()", referenced from:
                    JSC::Yarr::YarrPattern::newlineCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
                "JSC::Yarr::wordcharCreate()", referenced from:
                    JSC::Yarr::YarrPattern::wordcharCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
                "JSC::Yarr::nondigitsCreate()", referenced from:
                    JSC::Yarr::YarrPattern::nondigitsCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
                "JSC::Yarr::nonspacesCreate()", referenced from:
                    JSC::Yarr::YarrPattern::nonspacesCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
                "JSC::Yarr::nonwordcharCreate()", referenced from:
                    JSC::Yarr::YarrPattern::nonwordcharCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
                "JSC::Yarr::wordUnicodeIgnoreCaseCharCreate()", referenced from:
                    JSC::Yarr::YarrPattern::wordUnicodeIgnoreCaseCharCharacterClass() in libQt5Qml.a[arm64][198](YarrInterpreter.o)
                "JSC::Yarr::nonwordUnicodeIgnoreCaseCharCreate()", referenced from:
                    JSC::Yarr::YarrPattern::nonwordUnicodeIgnoreCaseCharCharacterClass() in libQt5Qml.a[arm64][200](YarrPattern.o)
              ld: symbol(s) not found for architecture arm64
              clang++: error: linker command failed with exit code 1 (use -v to see invocation)
              

              any suggestions? thanks a lot

              C Offline
              C Offline
              CellCS
              wrote on 12 Jun 2025, 16:11 last edited by
              #6
              This post is deleted!
              1 Reply Last reply
              0
              • C Offline
                C Offline
                CellCS
                wrote on 12 Jun 2025, 16:50 last edited by
                #7

                Thanks @SGaist @JKSH

                issue of "JSC::Yarr::digitsCreate()" is fixed by python path.

                Here is my env and steps:

                Env: Apple M4 Pro, macOS: Sequoia 15.5.

                Here are steps:

                OpenSSL Lib prepare:
                1-1: Download openssl-apple https://github.com/passepartoutvpn/openssl-apple?tab=readme-ov-file
                1-2: ./build-libssl.sh --version=3.4.1 --targets="ios64-cross-arm64", and get "iphoneos18.5-arm64.sdk"

                Download Qt source from Qt. (qt-everywhere-src-5.15.19)

                Build Qt:
                3-1: OPENSSL_LIBS='-L/Users/xxx/OpenSSL/iphoneos18.5-arm64.sdk/lib -lssl -lcrypto' ./configure
                -xplatform macx-ios-clang
                -release
                -static
                -nomake tests -nomake examples
                -skip qtwebengine -skip qtscript -skip qtdoc -skip qtlocation
                -openssl-linked
                -I/Users/xxx/OpenSSL/iphoneos18.5-arm64.sdk/include
                -L/Users/xxx/OpenSSL/iphoneos18.5-arm64.sdk/lib
                -no-securetransport
                -prefix /Users/xxx/Qt/5.15.19ios

                3-2: make -j1
                3-3: make install

                4: Qt creator link this /Users/xxx/Qt/5.15.19ios/bin

                5: build in Qt creator, run in Xcode

                1. ❌🚧 Issue: "SSL handshake failed" when tries to communicate with one TLS1.3 api.

                Any suggestions? thanks a lot.

                1 Reply Last reply
                1
                • H Online
                  H Online
                  hskoglund
                  wrote on 12 Jun 2025, 17:00 last edited by
                  #8

                  If you build the Qt example app "Secure Socket Client Example" do you get the same error?

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    CellCS
                    wrote on 12 Jun 2025, 18:19 last edited by
                    #9

                    Thanks @hskoglund @SGaist @JKSH

                    Now solved, and build qt can communicate with TLS 1.3 server.

                    After link with OpenSSL, need load cert files to support, system default one will be blank.

                    Cheers. thanks all!

                    1 Reply Last reply
                    1
                    • C CellCS has marked this topic as solved on 12 Jun 2025, 18:22

                    9/9

                    12 Jun 2025, 18:19

                    • Login

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