diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-03-03 11:18:07 +0000 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-03-03 11:18:07 +0000 |
commit | 315caaba7e83eb6680a0407ea13e04b5f7739788 (patch) | |
tree | 23141186153b59f493e9e8e09fc1f207a6f8cee4 /tests/test_crypto.cpp | |
parent | 3ce450fc1984ac480ae158a40d60e9d42f77f74a (diff) |
Add functions for signing and verifying messages using curve25519 keys
Diffstat (limited to 'tests/test_crypto.cpp')
-rw-r--r-- | tests/test_crypto.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/test_crypto.cpp b/tests/test_crypto.cpp index 1c068c4..3ec5360 100644 --- a/tests/test_crypto.cpp +++ b/tests/test_crypto.cpp @@ -83,6 +83,35 @@ assert_equals(expected_agreement, actual_agreement, 32); } /* Curve25529 Test Case 1 */ +{ /* Signature Test Cast 1 */ +TestCase test_case("Signature Test Case 1"); + +std::uint8_t private_key[33] = "This key is a string of 32 bytes"; +std::uint8_t message[] = "message"; +std::size_t message_length = sizeof(message) - 1; + +axolotl::Curve25519KeyPair key_pair; +axolotl::generate_key(private_key, key_pair); + +std::uint8_t signature[64]; + +axolotl::curve25519_sign( + key_pair, message, message_length, signature +); + +bool result = axolotl::curve25519_verify( + key_pair, message, message_length, signature +); +assert_equals(true, result); + +message[0] = 'n'; +result = axolotl::curve25519_verify( + key_pair, message, message_length, signature +); +assert_equals(false, result); + +} /* Signature Test Cast 1 */ + { /* AES Test Case 1 */ TestCase test_case("AES Test Case 1"); |