summaryrefslogtreecommitdiff
path: root/src/OpenSSL/SSL.py
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2018-05-16 18:33:25 +0200
committerPaul Kehrer <paul.l.kehrer@gmail.com>2018-05-16 12:33:25 -0400
commit02261ad7a51f8cad31c548a67f8406a1ef5ff052 (patch)
tree51394a24919278755e2c09872f17ab4802758004 /src/OpenSSL/SSL.py
parent7cc15e8ce33f63cd09ba7f158b3ed9e4ed2aec92 (diff)
downloadpyopenssl-02261ad7a51f8cad31c548a67f8406a1ef5ff052.tar.gz
Add Context.set_tlsext_use_srtp (#734)
This allows negotiating SRTP keying material, which is useful when using DTLS-SRTP, as WebRTC does for example.
Diffstat (limited to 'src/OpenSSL/SSL.py')
-rw-r--r--src/OpenSSL/SSL.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/OpenSSL/SSL.py b/src/OpenSSL/SSL.py
index 1bf6450..8d8cfe3 100644
--- a/src/OpenSSL/SSL.py
+++ b/src/OpenSSL/SSL.py
@@ -1371,6 +1371,21 @@ class Context(object):
_lib.SSL_CTX_set_tlsext_servername_callback(
self._context, self._tlsext_servername_callback)
+ def set_tlsext_use_srtp(self, profiles):
+ """
+ Enable support for negotiating SRTP keying material.
+
+ :param bytes profiles: A colon delimited list of protection profile
+ names, like ``b'SRTP_AES128_CM_SHA1_80:SRTP_AES128_CM_SHA1_32'``.
+ :return: None
+ """
+ if not isinstance(profiles, bytes):
+ raise TypeError("profiles must be a byte string.")
+
+ _openssl_assert(
+ _lib.SSL_CTX_set_tlsext_use_srtp(self._context, profiles) == 0
+ )
+
@_requires_npn
def set_npn_advertise_callback(self, callback):
"""