STINNER Victor <victor.stin...@haypocalc.com> added the comment:

> By default the Python SSL/TLS Stack (client/server) expose
> unsecure protocols (SSLv2) and unsecure ciphers (EXPORT 40bit DES).

If there is a problem, it should not be fixed in Python, but in the underlying 
library (OpenSSL) or in applications. Python only exposes features of the 
OpenSSL library. You should not see Python as an application but as a language: 
Python doesn't know what is your use case, or if you write a client or a server.

I suppose that OpenSSL has good reasons to still support weak algorithms like 
MD4 or SSLv2. Some operating systems, like Debian Sid, disable SSLv2 in the 
OpenSSL at the compilation.

If you consider that it is too complex to change the cipher list in a high 
level API (like http.client?), we may a ssl.DEFAULT_CIPHERS to allow an 
application to change the *default* cipher list.

SSLContext() requires a protocol, I suppose that the protocol is also by 
OpenSSL used in the negociation of the cipher list.

If we change the default behaviour, we should allow the user to get back the 
old behaviour (e.g. mark ssl._DEFAULT_CIPHERS as public in 
default_ciphers.patch).

--

IMO this issue is more a documentation issue: we should add a warning in the 
ssl module documentation, and maybe also in the documentation of modules using 
the ssl module (as we done for certificates for HTTPS).

----------
nosy: +haypo

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13636>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to