14 from PyQt6.QtWidgets import QDialog, QTreeWidgetItem |
14 from PyQt6.QtWidgets import QDialog, QTreeWidgetItem |
15 |
15 |
16 with contextlib.suppress(ImportError): |
16 with contextlib.suppress(ImportError): |
17 from PyQt6.QtNetwork import QSslCertificate, QSslConfiguration, QSsl |
17 from PyQt6.QtNetwork import QSslCertificate, QSslConfiguration, QSsl |
18 |
18 |
19 from eric7 import Globals, Preferences, Utilities |
19 from eric7 import EricUtilities, Preferences, Utilities |
20 from eric7.EricGui import EricPixmapCache |
20 from eric7.EricGui import EricPixmapCache |
21 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
21 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
22 |
22 |
23 from .Ui_EricSslCertificatesDialog import Ui_EricSslCertificatesDialog |
23 from .Ui_EricSslCertificatesDialog import Ui_EricSslCertificatesDialog |
24 |
24 |
55 |
55 |
56 def __populateServerCertificatesTree(self): |
56 def __populateServerCertificatesTree(self): |
57 """ |
57 """ |
58 Private slot to populate the server certificates tree. |
58 Private slot to populate the server certificates tree. |
59 """ |
59 """ |
60 certificateDict = Globals.toDict( |
60 certificateDict = EricUtilities.toDict( |
61 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
61 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
62 ) |
62 ) |
63 for server in certificateDict: |
63 for server in certificateDict: |
64 for cert in QSslCertificate.fromData(certificateDict[server]): |
64 for cert in QSslCertificate.fromData(certificateDict[server]): |
65 self.__createServerCertificateEntry(server, cert) |
65 self.__createServerCertificateEntry(server, cert) |
166 self.serversCertificatesTree.takeTopLevelItem( |
166 self.serversCertificatesTree.takeTopLevelItem( |
167 self.serversCertificatesTree.indexOfTopLevelItem(parent) |
167 self.serversCertificatesTree.indexOfTopLevelItem(parent) |
168 ) |
168 ) |
169 |
169 |
170 # delete the certificate from the user certificate store |
170 # delete the certificate from the user certificate store |
171 certificateDict = Globals.toDict( |
171 certificateDict = EricUtilities.toDict( |
172 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
172 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
173 ) |
173 ) |
174 if server in certificateDict: |
174 if server in certificateDict: |
175 certs = [ |
175 certs = [ |
176 c.toPem() for c in QSslCertificate.fromData(certificateDict[server]) |
176 c.toPem() for c in QSslCertificate.fromData(certificateDict[server]) |
197 Private slot to import server certificates. |
197 Private slot to import server certificates. |
198 """ |
198 """ |
199 certs = self.__importCertificate() |
199 certs = self.__importCertificate() |
200 if certs: |
200 if certs: |
201 server = "*" |
201 server = "*" |
202 certificateDict = Globals.toDict( |
202 certificateDict = EricUtilities.toDict( |
203 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
203 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
204 ) |
204 ) |
205 if server in certificateDict: |
205 if server in certificateDict: |
206 sCerts = QSslCertificate.fromData(certificateDict[server]) |
206 sCerts = QSslCertificate.fromData(certificateDict[server]) |
207 else: |
207 else: |
252 def __updateDefaultConfiguration(self): |
252 def __updateDefaultConfiguration(self): |
253 """ |
253 """ |
254 Private method to update the default SSL configuration. |
254 Private method to update the default SSL configuration. |
255 """ |
255 """ |
256 caList = self.__getSystemCaCertificates() |
256 caList = self.__getSystemCaCertificates() |
257 certificateDict = Globals.toDict( |
257 certificateDict = EricUtilities.toDict( |
258 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
258 Preferences.getSettings().value("Ssl/CaCertificatesDict") |
259 ) |
259 ) |
260 for server in certificateDict: |
260 for server in certificateDict: |
261 for cert in QSslCertificate.fromData(certificateDict[server]): |
261 for cert in QSslCertificate.fromData(certificateDict[server]): |
262 if cert not in caList: |
262 if cert not in caList: |
271 |
271 |
272 @return list of system certificates |
272 @return list of system certificates |
273 @rtype list of QSslCertificate |
273 @rtype list of QSslCertificate |
274 """ |
274 """ |
275 caList = QSslCertificate.fromData( |
275 caList = QSslCertificate.fromData( |
276 Globals.toByteArray( |
276 EricUtilities.toByteArray( |
277 Preferences.getSettings().value("Help/SystemCertificates") |
277 Preferences.getSettings().value("Help/SystemCertificates") |
278 ) |
278 ) |
279 ) |
279 ) |
280 if not caList: |
280 if not caList: |
281 caList = QSslConfiguration.systemCaCertificates() |
281 caList = QSslConfiguration.systemCaCertificates() |