Thu, 07 Jul 2022 11:23:56 +0200
Reorganized the project structure to use the source layout in order to support up-to-date build systems with "pyproject.toml".
4317
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
8881
54e42bc2437a
Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3 | # Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
4317
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing SSL utility functions. |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
4332
64034d85c709
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4318
diff
changeset
|
10 | |
4317
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | def initSSL(): |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | """ |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | Function to initialize some global SSL stuff. |
0de465a93200
Added code to limit SSL sockets to ciphers with at least 128 bits for Qt < 5.3.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | """ |
4348
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
15 | blacklist = [ |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
16 | "SRP-AES-256-CBC-SHA", # open to MitM |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
17 | "SRP-AES-128-CBC-SHA", # open to MitM |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
18 | ] |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
19 | |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
20 | try: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
21 | from PyQt6.QtNetwork import QSslConfiguration |
4348
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
22 | except ImportError: |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
23 | # no SSL available, so there is nothing to initialize |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
24 | return |
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
25 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
26 | strongCiphers = [c for c in QSslConfiguration.supportedCiphers() |
4348
fcb65da90a07
Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4332
diff
changeset
|
27 | if c.name() not in blacklist and c.usedBits() >= 128] |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
28 | defaultSslConfiguration = QSslConfiguration.defaultConfiguration() |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
29 | defaultSslConfiguration.setCiphers(strongCiphers) |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
30 | QSslConfiguration.setDefaultConfiguration(defaultSslConfiguration) |