Interface for the SSL_get_peer_finished, SSL_get_finished.
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index a6f0127..8861972 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -1932,7 +1932,27 @@
# XXX want_read
+ def test_finished(self):
+ """
+ :py:obj:`Connection.get_finished` and :py:obj:`Connection.get_peer_finished`
+ methods return the TLS Finished messages. Finished messages are send
+ during TLS handshake. Before handshake :py:obj:`Connection.get_finished` and
+ :py:obj:`Connection.get_peer_finished` return None.
+ """
+ ctx = Context(TLSv1_METHOD)
+ connection = Connection(ctx, None)
+ self.assertEqual(connection.get_finished(), None)
+ self.assertEqual(connection.get_peer_finished(), None)
+
+ server, client = self._loopback()
+
+ self.assertNotEqual(server.get_finished(), None)
+ self.assertTrue(len(server.get_finished()) > 0)
+ self.assertTrue(len(server.get_peer_finished()) > 0)
+
+ self.assertEqual(server.get_finished(), client.get_peer_finished())
+ self.assertEqual(client.get_finished(), server.get_peer_finished())
class ConnectionGetCipherListTests(TestCase):
"""