[Need Help]: Qt5.15 support iOS TLS 1.3
-
wrote on 5 Jun 2025, 20:32 last edited by
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.
-
You could...
- Install the OpenSSL development libraries
- Rebuild the Qt libraries from source
- 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
-
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.
wrote on 11 Jun 2025, 19:00 last edited byThanks a lot. here is my current steps.
- download qt source code.
- .configure with using open-ssl linked.
- make, make install
- qt creator link this qt.
- 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
-
Hi,
How exactly did you configure Qt ?
What kind of Mac are you using ? Intel or Apple Silicon ? -
wrote on 12 Jun 2025, 14:19 last edited byThis post is deleted!
-
Thanks a lot. here is my current steps.
- download qt source code.
- .configure with using open-ssl linked.
- make, make install
- qt creator link this qt.
- 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
wrote on 12 Jun 2025, 16:11 last edited byThis post is deleted! -
wrote on 12 Jun 2025, 16:50 last edited by
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.19ios3-2: make -j1
3-3: make install4: Qt creator link this /Users/xxx/Qt/5.15.19ios/bin
5: build in Qt creator, run in Xcode
- ❌🚧 Issue: "SSL handshake failed" when tries to communicate with one TLS1.3 api.
Any suggestions? thanks a lot.
-
wrote on 12 Jun 2025, 17:00 last edited by
If you build the Qt example app "Secure Socket Client Example" do you get the same error?
-
wrote on 12 Jun 2025, 18:19 last edited by
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!
-
9/9