summaryrefslogtreecommitdiff
path: root/auto_tests/encryptsave_test.c
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2016-12-16 03:00:55 +0000
committeriphydf <iphydf@users.noreply.github.com>2017-12-29 23:24:54 +0000
commitd26f0eb3bcdd622cc8adae98974a27d7487fc6cb (patch)
tree5643926efde516051ee9fe9efa9e6f9b04ea0548 /auto_tests/encryptsave_test.c
parent2c8fb05f6e1631403053ef8648d5860e0ec15cc3 (diff)
Change toxencryptsave API to never overwrite pass keys.
Diffstat (limited to 'auto_tests/encryptsave_test.c')
-rw-r--r--auto_tests/encryptsave_test.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/auto_tests/encryptsave_test.c b/auto_tests/encryptsave_test.c
index dfe85710..7442d4fc 100644
--- a/auto_tests/encryptsave_test.c
+++ b/auto_tests/encryptsave_test.c
@@ -103,7 +103,8 @@ START_TEST(test_save_friend)
103 size = tox_get_savedata_size(tox3); 103 size = tox_get_savedata_size(tox3);
104 VLA(uint8_t, data2, size); 104 VLA(uint8_t, data2, size);
105 tox_get_savedata(tox3, data2); 105 tox_get_savedata(tox3, data2);
106 Tox_Pass_Key *key = tox_pass_key_new(); 106 TOX_ERR_KEY_DERIVATION keyerr;
107 Tox_Pass_Key *key = tox_pass_key_derive((const uint8_t *)"123qweasdzxc", 12, &keyerr);
107 ck_assert_msg(key != NULL, "pass key allocation failure"); 108 ck_assert_msg(key != NULL, "pass key allocation failure");
108 memcpy((uint8_t *)key, test_salt, TOX_PASS_SALT_LENGTH); 109 memcpy((uint8_t *)key, test_salt, TOX_PASS_SALT_LENGTH);
109 memcpy((uint8_t *)key + TOX_PASS_SALT_LENGTH, known_key2, TOX_PASS_KEY_LENGTH); 110 memcpy((uint8_t *)key + TOX_PASS_SALT_LENGTH, known_key2, TOX_PASS_KEY_LENGTH);
@@ -146,14 +147,12 @@ START_TEST(test_keys)
146 TOX_ERR_ENCRYPTION encerr; 147 TOX_ERR_ENCRYPTION encerr;
147 TOX_ERR_DECRYPTION decerr; 148 TOX_ERR_DECRYPTION decerr;
148 TOX_ERR_KEY_DERIVATION keyerr; 149 TOX_ERR_KEY_DERIVATION keyerr;
149 Tox_Pass_Key *key = tox_pass_key_new(); 150 Tox_Pass_Key *key = tox_pass_key_derive((const uint8_t *)"123qweasdzxc", 12, &keyerr);
150 ck_assert_msg(key != NULL, "pass key allocation failure"); 151 ck_assert_msg(key != NULL, "generic failure 1: %u", keyerr);
151 bool ret = tox_pass_key_derive(key, (const uint8_t *)"123qweasdzxc", 12, &keyerr);
152 ck_assert_msg(ret, "generic failure 1: %u", keyerr);
153 const uint8_t *string = (const uint8_t *)"No Patrick, mayonnaise is not an instrument."; // 44 152 const uint8_t *string = (const uint8_t *)"No Patrick, mayonnaise is not an instrument."; // 44
154 153
155 uint8_t encrypted[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; 154 uint8_t encrypted[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH];
156 ret = tox_pass_key_encrypt(key, string, 44, encrypted, &encerr); 155 bool ret = tox_pass_key_encrypt(key, string, 44, encrypted, &encerr);
157 ck_assert_msg(ret, "generic failure 2: %u", encerr); 156 ck_assert_msg(ret, "generic failure 2: %u", encerr);
158 157
159 uint8_t encrypted2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; 158 uint8_t encrypted2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH];
@@ -186,10 +185,8 @@ START_TEST(test_keys)
186 TOX_ERR_GET_SALT salt_err; 185 TOX_ERR_GET_SALT salt_err;
187 ck_assert_msg(tox_get_salt(encrypted, salt, &salt_err), "couldn't get salt"); 186 ck_assert_msg(tox_get_salt(encrypted, salt, &salt_err), "couldn't get salt");
188 ck_assert_msg(salt_err == TOX_ERR_GET_SALT_OK, "get_salt returned an error"); 187 ck_assert_msg(salt_err == TOX_ERR_GET_SALT_OK, "get_salt returned an error");
189 Tox_Pass_Key *key2 = tox_pass_key_new(); 188 Tox_Pass_Key *key2 = tox_pass_key_derive_with_salt((const uint8_t *)"123qweasdzxc", 12, salt, &keyerr);
190 ck_assert_msg(key != NULL, "pass key allocation failure"); 189 ck_assert_msg(key2 != NULL, "generic failure 7: %u", keyerr);
191 ret = tox_pass_key_derive_with_salt(key2, (const uint8_t *)"123qweasdzxc", 12, salt, &keyerr);
192 ck_assert_msg(ret, "generic failure 7: %u", keyerr);
193 ck_assert_msg(0 == memcmp(key, key2, TOX_PASS_KEY_LENGTH + TOX_PASS_SALT_LENGTH), "salt comparison failed"); 190 ck_assert_msg(0 == memcmp(key, key2, TOX_PASS_KEY_LENGTH + TOX_PASS_SALT_LENGTH), "salt comparison failed");
194 tox_pass_key_free(key2); 191 tox_pass_key_free(key2);
195 tox_pass_key_free(key); 192 tox_pass_key_free(key);