aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-03-03 11:18:07 +0000
committerMark Haines <mark.haines@matrix.org>2015-03-03 11:18:07 +0000
commit315caaba7e83eb6680a0407ea13e04b5f7739788 (patch)
tree23141186153b59f493e9e8e09fc1f207a6f8cee4 /tests
parent3ce450fc1984ac480ae158a40d60e9d42f77f74a (diff)
Add functions for signing and verifying messages using curve25519 keys
Diffstat (limited to 'tests')
-rw-r--r--tests/test_crypto.cpp29
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");