|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 # Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
|
4 # |
|
5 |
|
6 """ |
|
7 Module implementing SSL utility functions. |
|
8 """ |
|
9 |
|
10 |
|
11 def initSSL(): |
|
12 """ |
|
13 Function to initialize some global SSL stuff. |
|
14 """ |
|
15 blacklist = [ |
|
16 "SRP-AES-256-CBC-SHA", # open to MitM |
|
17 "SRP-AES-128-CBC-SHA", # open to MitM |
|
18 ] |
|
19 |
|
20 try: |
|
21 from PyQt6.QtNetwork import QSslConfiguration |
|
22 except ImportError: |
|
23 # no SSL available, so there is nothing to initialize |
|
24 return |
|
25 |
|
26 strongCiphers = [c for c in QSslConfiguration.supportedCiphers() |
|
27 if c.name() not in blacklist and c.usedBits() >= 128] |
|
28 defaultSslConfiguration = QSslConfiguration.defaultConfiguration() |
|
29 defaultSslConfiguration.setCiphers(strongCiphers) |
|
30 QSslConfiguration.setDefaultConfiguration(defaultSslConfiguration) |