E5Network/E5SslErrorHandler.py

branch
maintenance
changeset 6646
51eefa621de4
parent 6645
ad476851d7e0
diff -r 77189681b787 -r 51eefa621de4 E5Network/E5SslErrorHandler.py
--- a/E5Network/E5SslErrorHandler.py	Sat Dec 01 11:45:24 2018 +0100
+++ b/E5Network/E5SslErrorHandler.py	Thu Jan 10 14:22:59 2019 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -9,6 +9,8 @@
 
 from __future__ import unicode_literals
 
+import platform
+
 from PyQt5.QtCore import QObject, QByteArray
 from PyQt5.QtNetwork import QSslCertificate, QSslConfiguration, QSslSocket, \
     QSslError, QSsl
@@ -57,7 +59,13 @@
                     caList.append(cert)
         sslCfg = QSslConfiguration.defaultConfiguration()
         sslCfg.setCaCertificates(caList)
-        sslCfg.setProtocol(QSsl.AnyProtocol)
+        try:
+            sslProtocol = QSsl.TlsV1_1OrLater
+            if Globals.isWindowsPlatform() and platform.win32_ver()[0] == '7':
+                sslProtocol = QSsl.SecureProtocols
+        except AttributeError:
+            sslProtocol = QSsl.SecureProtocols
+        sslCfg.setProtocol(sslProtocol)
         try:
             sslCfg.setSslOption(QSsl.SslOptionDisableCompression, True)
         except AttributeError:
@@ -166,7 +174,15 @@
                     for cert in caNew:
                         caList.append(cert)
                     sslCfg.setCaCertificates(caList)
-                    sslCfg.setProtocol(QSsl.AnyProtocol)
+                    try:
+                        sslCfg.setProtocol(QSsl.TlsV1_1OrLater)
+                    except AttributeError:
+                        sslCfg.setProtocol(QSsl.SecureProtocols)
+                    try:
+                        sslCfg.setSslOption(QSsl.SslOptionDisableCompression,
+                                            True)
+                    except AttributeError:
+                        pass
                     QSslConfiguration.setDefaultConfiguration(sslCfg)
                     
                     certificateDict = {}

eric ide

mercurial