Helpviewer/Network/NetworkAccessManager.py

changeset 762
48190a225699
parent 753
e19a516f0a97
child 791
9ec2ac20e54e
diff -r de0723fab049 -r 48190a225699 Helpviewer/Network/NetworkAccessManager.py
--- a/Helpviewer/Network/NetworkAccessManager.py	Sun Dec 19 15:26:00 2010 +0100
+++ b/Helpviewer/Network/NetworkAccessManager.py	Sun Dec 19 19:51:37 2010 +0100
@@ -72,14 +72,14 @@
         self.languagesChanged()
         
         if SSL_AVAILABLE:
-            sslCfg = QSslConfiguration.defaultConfiguration()
-            caList = sslCfg.caCertificates()
+            caList = self.__getSystemCaCertificates()
             certificateDict = Preferences.toDict(
                     Preferences.Prefs.settings.value("Help/CaCertificatesDict"))
             for server in certificateDict:
                 for cert in QSslCertificate.fromData(certificateDict[server]):
                     if cert not in caList:
                         caList.append(cert)
+            sslCfg = QSslConfiguration.defaultConfiguration()
             sslCfg.setCaCertificates(caList)
             QSslConfiguration.setDefaultConfiguration(sslCfg)
             
@@ -300,6 +300,18 @@
         
         return result
     
+    def __getSystemCaCertificates(self):
+        """
+        Private method to get the list of system certificates.
+        
+        @return list of system certificates (list of QSslCertificate)
+        """
+        caList = QSslCertificate.fromData(Preferences.toByteArray(
+            Preferences.Prefs.settings.value("Help/SystemCertificates")))
+        if not caList:
+            caList = QSslSocket.systemCaCertificates()
+        return caList
+    
     def preferencesChanged(self):
         """
         Public slot to signal a change of preferences.

eric ide

mercurial