diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_crypto.cpp | 34 |
1 files changed, 31 insertions, 3 deletions
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 */ |