diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2018-08-24 17:37:36 +0200 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2019-01-22 15:19:48 +0000 |
commit | 7cc6f78dd448992c9a9cb31e001b908d44028516 (patch) | |
tree | ee51817ef66c9263cbac7af86f9a04b12ea6a0d4 /src/network/ssl/qsslcertificate_qt.cpp | |
parent | e0567d137df4ff3978f767fa723ae05a7b0ab546 (diff) |
Schannel support
Adds support for Schannel, an SSL backend for Windows, as an
alternative to OpenSSL.
[ChangeLog][QtNetwork][Ssl] Added support for Schannel on Desktop
Windows. To build Qt with Schannel support use '-schannel' during
configure.
Task-number: QTBUG-62637
Change-Id: Ic4fb8ed3657dab994f9f4a4ac5cbddc7001a0a46
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/ssl/qsslcertificate_qt.cpp')
-rw-r--r-- | src/network/ssl/qsslcertificate_qt.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/ssl/qsslcertificate_qt.cpp b/src/network/ssl/qsslcertificate_qt.cpp index dfdfd529e5..2bd5b3b412 100644 --- a/src/network/ssl/qsslcertificate_qt.cpp +++ b/src/network/ssl/qsslcertificate_qt.cpp @@ -139,7 +139,7 @@ QDateTime QSslCertificate::expiryDate() const return d->notValidAfter; } -#ifndef Q_OS_WINRT // implemented in qsslcertificate_winrt.cpp +#if !defined(Q_OS_WINRT) && !QT_CONFIG(schannel) // implemented in qsslcertificate_{winrt,schannel}.cpp Qt::HANDLE QSslCertificate::handle() const { Q_UNIMPLEMENTED(); @@ -206,6 +206,10 @@ void QSslCertificatePrivate::init(const QByteArray &data, QSsl::EncodingFormat f : certificatesFromDer(data, 1); if (!certs.isEmpty()) { *this = *certs.first().d; +#if QT_CONFIG(schannel) + if (certificateContext) + certificateContext = CertDuplicateCertificateContext(certificateContext); +#endif } } } |