E5Network/E5SslUtilities.py

Sat, 02 Feb 2019 11:12:54 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 02 Feb 2019 11:12:54 +0100
branch
maintenance
changeset 6693
3629d88ae235
parent 6645
ad476851d7e0
permissions
-rw-r--r--

Merged with default branch to prepare release 19.02.

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
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
3 # Copyright (c) 2015 - 2019 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
4318
c2f374ca452b Improved parsing of the content disposition header analog to the way it is done in qutebrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4317
diff changeset
10 from __future__ import unicode_literals
c2f374ca452b Improved parsing of the content disposition header analog to the way it is done in qutebrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4317
diff changeset
11
4332
64034d85c709 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4318
diff changeset
12
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
13 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
14 """
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
15 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
16 """
4348
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
17 blacklist = [
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
18 "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
19 "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
20 ]
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
21
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
22 try:
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
23 from PyQt5.QtNetwork import QSslSocket
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
24 except ImportError:
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
25 # 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
26 return
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
27
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
28 strongCiphers = [c for c in QSslSocket.supportedCiphers()
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
29 if c.name() not in blacklist and c.usedBits() >= 128]
fcb65da90a07 Extended the web browser privacy settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4332
diff changeset
30 QSslSocket.setDefaultCiphers(strongCiphers)

eric ide

mercurial