summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qtlsbackend.cpp
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2021-02-23 11:40:50 +0100
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2021-03-03 14:52:16 +0100
commitff76599b594d75c9f5a0d40ec598c8be355ba54f (patch)
tree2b714d8e217cd2137b9c289fa642c6b56a92dffa /src/network/ssl/qtlsbackend.cpp
parentafde5faf856078d34542da1d4d4db8a0237bfc67 (diff)
Convert elliptic curves and DH params to work with QTlsBackend
The corresponding API is becoming a part of QTlsBackend interface, since it's too minimalistic and does not require additional interfaces, unlike certificates or keys. Fixes: QTBUG-91177 Fixes: QTBUG-91175 Task-number: QTBUG-65922 Change-Id: I44dd0adbdf2427962451998664efe234d59fae24 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> (cherry picked from commit cdf4976b5a01bc5b65aed746acc9cc7f87b0fd97) Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/ssl/qtlsbackend.cpp')
-rw-r--r--src/network/ssl/qtlsbackend.cpp78
1 files changed, 69 insertions, 9 deletions
diff --git a/src/network/ssl/qtlsbackend.cpp b/src/network/ssl/qtlsbackend.cpp
index dcffb0afd1f..c3677668014 100644
--- a/src/network/ssl/qtlsbackend.cpp
+++ b/src/network/ssl/qtlsbackend.cpp
@@ -229,60 +229,120 @@ QString QTlsBackend::backendName() const
return QStringLiteral("dummyTLS");
}
+#define REPORT_MISSING_SUPPORT(message) \
+ qCWarning(lcSsl) << "The backend" << backendName() << message
+
QSsl::TlsKey *QTlsBackend::createKey() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot generate a key");
+ REPORT_MISSING_SUPPORT("does not support QSslKey");
return nullptr;
}
QSsl::X509Certificate *QTlsBackend::createCertificate() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot create a certificate");
+ REPORT_MISSING_SUPPORT("does not support QSslCertificate");
return nullptr;
}
QSsl::TlsCryptograph *QTlsBackend::createTlsCryptograph() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot create TLS session");
+ REPORT_MISSING_SUPPORT("does not support QSslSocket");
return nullptr;
}
QSsl::DtlsCryptograph *QTlsBackend::createDtlsCryptograph() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot create DTLS session");
+ REPORT_MISSING_SUPPORT("does not support QDtls");
return nullptr;
}
QSsl::DtlsCookieVerifier *QTlsBackend::createDtlsCookieVerifier() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot create DTLS cookie generator/verifier");
+ REPORT_MISSING_SUPPORT("does not support DTLS cookies");
return nullptr;
}
QSsl::X509ChainVerifyPtr QTlsBackend::X509Verifier() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot verify X509 chain");
+ REPORT_MISSING_SUPPORT("does not support (manual) certificate verification");
return nullptr;
}
QSsl::X509PemReaderPtr QTlsBackend::X509PemReader() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot read PEM format");
+ REPORT_MISSING_SUPPORT("cannot read PEM format");
return nullptr;
}
QSsl::X509DerReaderPtr QTlsBackend::X509DerReader() const
{
- qCWarning(lcSsl, "Dummy TLS backend, don't know how to read DER");
+ REPORT_MISSING_SUPPORT("cannot read DER format");
return nullptr;
}
QSsl::X509Pkcs12ReaderPtr QTlsBackend::X509Pkcs12Reader() const
{
- qCWarning(lcSsl, "Dummy TLS backend, cannot read PKCS12");
+ REPORT_MISSING_SUPPORT("cannot read PKCS12 format");
return nullptr;
}
+QList<int> QTlsBackend::ellipticCurvesIds() const
+{
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return {};
+}
+
+int QTlsBackend::curveIdFromShortName(const QString &name) const
+{
+ Q_UNUSED(name);
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return 0;
+}
+
+int QTlsBackend::curveIdFromLongName(const QString &name) const
+{
+ Q_UNUSED(name);
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return 0;
+}
+
+QString QTlsBackend::shortNameForId(int cid) const
+{
+ Q_UNUSED(cid);
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return {};
+}
+
+QString QTlsBackend::longNameForId(int cid) const
+{
+ Q_UNUSED(cid);
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return {};
+}
+
+bool QTlsBackend::isTlsNamedCurve(int cid) const
+{
+ Q_UNUSED(cid);
+ REPORT_MISSING_SUPPORT("does not support QSslEllipticCurve");
+ return false;
+}
+
+int QTlsBackend::dhParametersFromDer(const QByteArray &derData, QByteArray *data) const
+{
+ Q_UNUSED(derData);
+ Q_UNUSED(data);
+ REPORT_MISSING_SUPPORT("does not support QSslDiffieHellmanParameters in DER format");
+ return {};
+}
+
+int QTlsBackend::dhParametersFromPem(const QByteArray &pemData, QByteArray *data) const
+{
+ Q_UNUSED(pemData);
+ Q_UNUSED(data);
+ REPORT_MISSING_SUPPORT("does not support QSslDiffieHellmanParameters in PEM format");
+ return {};
+}
+
QList<QString> QTlsBackend::availableBackendNames()
{
if (!backends())