E5Network/E5SslUtilities.py

Sat, 01 Sep 2018 10:39:08 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 01 Sep 2018 10:39:08 +0200
branch
maintenance
changeset 6490
7bbc72701f0a
parent 6048
82ad8ec9548c
child 6645
ad476851d7e0
permissions
-rw-r--r--

Re-merged with "default" branch in order to include some last minute fixes in the next release.

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
6048
82ad8ec9548c Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
3 # Copyright (c) 2015 - 2018 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