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.