switch to SSL_get_version.
diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index 2ee0512..28e5199 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -1883,6 +1883,18 @@
return version.decode("utf-8")
+ def get_protocol_version(self):
+ """
+ Obtain the protocol version of the current connection.
+
+ :returns: The TLS version of the current connection, for example
+ the value for TLS 1.2 would be 0x303.
+ :rtype: :py:class:`int`
+ """
+ version = _lib.SSL_get_version(self._ssl)
+ return version
+
+
@_requires_npn
def get_next_proto_negotiated(self):
"""
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index 7605dc0..83d9896 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -2747,15 +2747,15 @@
def test_get_protocol_version(self):
"""
- :py:obj:`Connection.get_protocol_version` returns a :py:class:`int`
+ :py:obj:`Connection.get_protocol_version` returns a string
giving the protocol version of the current connection.
"""
server, client = self._loopback()
server_protocol_version, client_protocol_version = \
server.get_protocol_version(), client.get_protocol_version()
- self.assertIsInstance(server_protocol_version, int)
- self.assertIsInstance(client_protocol_version, int)
+ self.assertIsInstance(server_protocol_version, text_type)
+ self.assertIsInstance(client_protocol_version, text_type)
self.assertEqual(server_protocol_version, client_protocol_version)