diff options
| author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2021-02-23 11:40:50 +0100 |
|---|---|---|
| committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2021-03-03 14:52:16 +0100 |
| commit | ff76599b594d75c9f5a0d40ec598c8be355ba54f (patch) | |
| tree | 2b714d8e217cd2137b9c289fa642c6b56a92dffa /src/network/ssl/qtlsbackend.cpp | |
| parent | afde5faf856078d34542da1d4d4db8a0237bfc67 (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.cpp | 78 |
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()) |
