From b6b5ba0e232fa812b471a1a567db760e6fadae95 Mon Sep 17 00:00:00 2001 From: Mikkel Krautz Date: Fri, 13 Feb 2015 18:09:20 +0100 Subject: [PATCH] QSsl: teach the SecureTransport backend about TlsV1_0OrLater, TlsV1_1OrLater and TlsV1_2OrLater Change-Id: I001ffebef30b47b63cae6ea9487d9e96ca85ff92 Reviewed-by: Richard J. Moore --- src/network/ssl/qsslsocket_mac.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/network/ssl/qsslsocket_mac.cpp b/src/network/ssl/qsslsocket_mac.cpp index 5dec6c5dbb5..3326362d662 100644 --- a/src/network/ssl/qsslsocket_mac.cpp +++ b/src/network/ssl/qsslsocket_mac.cpp @@ -913,6 +913,27 @@ bool QSslSocketBackendPrivate::setSessionProtocol() err = SSLSetProtocolVersionMin(context, kTLSProtocol1); if (err == noErr) err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_0OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1 - TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol1); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_1OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1.1 - TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol11); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); + } else if (configuration.protocol == QSsl::TlsV1_2OrLater) { +#ifdef QSSLSOCKET_DEBUG + qDebug() << Q_FUNC_INFO << plainSocket << "requesting : TLSv1.2"; +#endif + err = SSLSetProtocolVersionMin(context, kTLSProtocol12); + if (err == noErr) + err = SSLSetProtocolVersionMax(context, kTLSProtocol12); } else { qDebug() << Q_FUNC_INFO << "no protocol version found in the configuration"; return false;