E5Network/E5SslUtilities.py

Sat, 19 Nov 2016 12:51:02 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 19 Nov 2016 12:51:02 +0100
branch
maintenance
changeset 5335
112840bac20c
parent 4631
5c1a96925da4
child 5389
9b1c800daff3
permissions
-rw-r--r--

Prepared release 16.11.1

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
4631
5c1a96925da4 Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4348
diff changeset
3 # Copyright (c) 2015 - 2016 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