From 2a873fd4e1d53c45898b27e1c953b551b2cf6023 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 7 Jul 2015 09:50:32 +0100 Subject: Add functions for creating and verifying ed25519 signatures --- tests/test_crypto.cpp | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/test_crypto.cpp b/tests/test_crypto.cpp index b8ffbcd..b3ff593 100644 --- a/tests/test_crypto.cpp +++ b/tests/test_crypto.cpp @@ -83,8 +83,8 @@ assert_equals(expected_agreement, actual_agreement, 32); } /* Curve25529 Test Case 1 */ -{ /* Signature Test Cast 1 */ -TestCase test_case("Signature Test Case 1"); +{ /* Curve25519 Signature Test Case 1 */ +TestCase test_case("Curve25519 Signature Test Case 1"); std::uint8_t private_key[33] = "This key is a string of 32 bytes"; std::uint8_t message[] = "message"; @@ -110,7 +110,35 @@ result = olm::curve25519_verify( ); assert_equals(false, result); -} /* Signature Test Cast 1 */ +} /* Curve25519 Signature Test Case 1 */ + +{ +TestCase test_case("Ed25519 Signature Test Case 1"); +std::uint8_t private_key[33] = "This key is a string of 32 bytes"; + +std::uint8_t message[] = "Hello, World"; +std::size_t message_length = sizeof(message) - 1; + +olm::Ed25519KeyPair key_pair; +olm::ed25519_generate_key(private_key, key_pair); + +std::uint8_t signature[64]; +olm::ed25519_sign( + key_pair, message, message_length, signature +); + +bool result = olm::ed25519_verify( + key_pair, message, message_length, signature +); +assert_equals(true, result); + +message[0] = 'n'; +result = olm::ed25519_verify( + key_pair, message, message_length, signature +); +assert_equals(false, result); +} + { /* AES Test Case 1 */ -- cgit v1.2.3