summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2021-09-20 20:05:30 +0200
committerMårten Nordheim <marten.nordheim@qt.io>2021-09-21 20:49:33 +0200
commit8910a01c7212e1fb2d5192b19ef6179dd1b7e456 (patch)
treebd32b3a6ef6e2534aa155d416533266d43a1735b
parentab4fb3ffd40c0bf694161d955d4a58602b9f1a4c (diff)
Fix loading certificates on Android with OpenSSL
Fixes: QTBUG-96606 Change-Id: Ic2a55fa65c5dc3c057a4da25c218af5a9861410e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 504df6b135d4ac17aa2290e1aa943d216fb7ef55)
-rw-r--r--src/plugins/tls/openssl/qtlsbackend_openssl.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/tls/openssl/qtlsbackend_openssl.cpp b/src/plugins/tls/openssl/qtlsbackend_openssl.cpp
index 69a85a83ec..9acac9b9d1 100644
--- a/src/plugins/tls/openssl/qtlsbackend_openssl.cpp
+++ b/src/plugins/tls/openssl/qtlsbackend_openssl.cpp
@@ -367,7 +367,6 @@ QTlsPrivate::X509Certificate *QTlsBackendOpenSSL::createCertificate() const
namespace QTlsPrivate {
-// TLSTODO: remove.
#ifdef Q_OS_ANDROID
QList<QByteArray> fetchSslCertificateData();
#endif
@@ -399,7 +398,9 @@ QList<QSslCertificate> systemCaCertificates()
CertCloseStore(hSystemStore, 0);
}
#elif defined(Q_OS_ANDROID)
- // TODO: find where it hides its system certs !
+ const QList<QByteArray> certData = fetchSslCertificateData();
+ for (auto certDatum : certData)
+ systemCerts.append(QSslCertificate::fromData(certDatum, QSsl::Der));
#elif defined(Q_OS_UNIX)
{
const QList<QByteArray> directories = QSslSocketPrivate::unixRootCertDirectories();