diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2011-07-20 23:11:30 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-07-20 23:11:30 (GMT) |
commit | d649480739dba77d9bfb1f320b52e9a838c33a05 (patch) | |
tree | 93c59364a01cfa770342eba85ba99d2e5a3ad99c /Doc | |
parent | 875048bd4c95ae90c3e541cad681b11436ce1f3f (diff) | |
download | cpython-d649480739dba77d9bfb1f320b52e9a838c33a05.zip cpython-d649480739dba77d9bfb1f320b52e9a838c33a05.tar.gz cpython-d649480739dba77d9bfb1f320b52e9a838c33a05.tar.bz2 |
Issue #12551: Provide a get_channel_binding() method on SSL sockets so as
to get channel binding data for the current SSL session (only the
"tls-unique" channel binding is implemented). This allows the
implementation of certain authentication mechanisms such as SCRAM-SHA-1-PLUS.
Patch by Jacek Konieczny.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/ssl.rst | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index 5342e78..0ac0ac1 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -386,6 +386,13 @@ Constants .. versionadded:: 3.2 +.. data:: CHANNEL_BINDING_TYPES + + List of supported TLS channel binding types. Strings in this list + can be used as arguments to :meth:`SSLSocket.get_channel_binding`. + + .. versionadded:: 3.3 + .. data:: OPENSSL_VERSION The version string of the OpenSSL library loaded by the interpreter:: @@ -495,6 +502,18 @@ SSL sockets also have the following additional methods and attributes: version of the SSL protocol that defines its use, and the number of secret bits being used. If no connection has been established, returns ``None``. +.. method:: SSLSocket.get_channel_binding(cb_type="tls-unique") + + Get channel binding data for current connection, as a bytes object. Returns + ``None`` if not connected or the handshake has not been completed. + + The *cb_type* parameter allow selection of the desired channel binding + type. Valid channel binding types are listed in the + :data:`CHANNEL_BINDING_TYPES` list. Currently only the 'tls-unique' channel + binding, defined by :rfc:`5929`, is supported. :exc:`ValueError` will be + raised if an unsupported channel binding type is requested. + + .. versionadded:: 3.3 .. method:: SSLSocket.unwrap() |