summaryrefslogtreecommitdiffstats
path: root/Doc/library/ssl.rst
diff options
context:
space:
mode:
authorDonald Stufft <donald@stufft.io>2014-03-22 01:33:34 (GMT)
committerDonald Stufft <donald@stufft.io>2014-03-22 01:33:34 (GMT)
commit79ccaa2cad2a13f0da2f900a0f9f61cd6b619c99 (patch)
treead16e54403a655838fb1338be48d4e8702312adf /Doc/library/ssl.rst
parent51f3129ba2f87233006338c9c735fe4b0cc84036 (diff)
downloadcpython-79ccaa2cad2a13f0da2f900a0f9f61cd6b619c99.zip
cpython-79ccaa2cad2a13f0da2f900a0f9f61cd6b619c99.tar.gz
cpython-79ccaa2cad2a13f0da2f900a0f9f61cd6b619c99.tar.bz2
Issue #20995: Enhance default ciphers used by the ssl module
Closes #20995 by Enabling better security by prioritizing ciphers such that: * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) * Prefer ECDHE over DHE for better performance * Prefer any AES-GCM over any AES-CBC for better performance and security * Then Use HIGH cipher suites as a fallback * Then Use 3DES as fallback which is secure but slow * Finally use RC4 as a fallback which is problematic but needed for compatibility some times. * Disable NULL authentication, NULL encryption, and MD5 MACs for security reasons
Diffstat (limited to 'Doc/library/ssl.rst')
-rw-r--r--Doc/library/ssl.rst15
1 files changed, 4 insertions, 11 deletions
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 0ed5fb2..3aa1e36 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -1665,17 +1665,10 @@ If you have advanced security requirements, fine-tuning of the ciphers
enabled when negotiating a SSL session is possible through the
:meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the
ssl module disables certain weak ciphers by default, but you may want
-to further restrict the cipher choice. For example::
-
- context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
- context.set_ciphers('HIGH:!aNULL:!eNULL')
-
-The ``!aNULL:!eNULL`` part of the cipher spec is necessary to disable ciphers
-which don't provide both encryption and authentication. Be sure to read
-OpenSSL's documentation about the `cipher list
-format <http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`_.
-If you want to check which ciphers are enabled by a given cipher list,
-use the ``openssl ciphers`` command on your system.
+to further restrict the cipher choice. Be sure to read OpenSSL's documentation
+about the `cipher list format <http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`_.
+If you want to check which ciphers are enabled by a given cipher list, use the
+``openssl ciphers`` command on your system.
Multi-processing
^^^^^^^^^^^^^^^^