diff options
author | Dubslow <bunslow@gmail.com> | 2015-03-31 21:16:04 -0500 |
---|---|---|
committer | Dubslow <bunslow@gmail.com> | 2015-03-31 21:16:04 -0500 |
commit | f7beee495e9c3199ecbae91fde2e92f1698f48b2 (patch) | |
tree | 0ca72da3664401a854180bd976e943e4bfc5ea1b /auto_tests | |
parent | 9b66c57bd0ec8d7e89b7fa751d83ffabd1ce2e75 (diff) |
Make keys into a struct for more programmer safety
Diffstat (limited to 'auto_tests')
-rw-r--r-- | auto_tests/encryptsave_test.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/auto_tests/encryptsave_test.c b/auto_tests/encryptsave_test.c index 07b0c4d4..a239bcee 100644 --- a/auto_tests/encryptsave_test.c +++ b/auto_tests/encryptsave_test.c | |||
@@ -93,19 +93,19 @@ START_TEST(test_save_friend) | |||
93 | size = tox_get_savedata_size(tox3); | 93 | size = tox_get_savedata_size(tox3); |
94 | uint8_t data2[size]; | 94 | uint8_t data2[size]; |
95 | tox_get_savedata(tox3, data2); | 95 | tox_get_savedata(tox3, data2); |
96 | uint8_t key[32 + crypto_box_BEFORENMBYTES]; | 96 | TOX_PASS_KEY key; |
97 | memcpy(key, salt, 32); | 97 | memcpy(key.salt, salt, 32); |
98 | memcpy(key + 32, known_key2, crypto_box_BEFORENMBYTES); | 98 | memcpy(key.key, known_key2, crypto_box_BEFORENMBYTES); |
99 | size2 = size + TOX_PASS_ENCRYPTION_EXTRA_LENGTH; | 99 | size2 = size + TOX_PASS_ENCRYPTION_EXTRA_LENGTH; |
100 | uint8_t encdata2[size2]; | 100 | uint8_t encdata2[size2]; |
101 | ret = tox_pass_key_encrypt(data2, size, key, encdata2, &error1); | 101 | ret = tox_pass_key_encrypt(data2, size, &key, encdata2, &error1); |
102 | ck_assert_msg(ret, "failed to key encrypt %u", error1); | 102 | ck_assert_msg(ret, "failed to key encrypt %u", error1); |
103 | ck_assert_msg(tox_is_data_encrypted(encdata2), "magic number the second missing"); | 103 | ck_assert_msg(tox_is_data_encrypted(encdata2), "magic number the second missing"); |
104 | 104 | ||
105 | uint8_t out1[size], out2[size]; | 105 | uint8_t out1[size], out2[size]; |
106 | ret = tox_pass_decrypt(encdata2, size2, pw, pwlen, out1, &err3); | 106 | ret = tox_pass_decrypt(encdata2, size2, pw, pwlen, out1, &err3); |
107 | ck_assert_msg(ret, "failed to pw decrypt %u", err3); | 107 | ck_assert_msg(ret, "failed to pw decrypt %u", err3); |
108 | ret = tox_pass_key_decrypt(encdata2, size2, key, out2, &err3); | 108 | ret = tox_pass_key_decrypt(encdata2, size2, &key, out2, &err3); |
109 | ck_assert_msg(ret, "failed to key decrypt %u", err3); | 109 | ck_assert_msg(ret, "failed to key decrypt %u", err3); |
110 | ck_assert_msg(memcmp(out1, out2, size) == 0, "differing output data"); | 110 | ck_assert_msg(memcmp(out1, out2, size) == 0, "differing output data"); |
111 | 111 | ||
@@ -130,13 +130,13 @@ START_TEST(test_keys) | |||
130 | TOX_ERR_ENCRYPTION encerr; | 130 | TOX_ERR_ENCRYPTION encerr; |
131 | TOX_ERR_DECRYPTION decerr; | 131 | TOX_ERR_DECRYPTION decerr; |
132 | TOX_ERR_KEY_DERIVATION keyerr; | 132 | TOX_ERR_KEY_DERIVATION keyerr; |
133 | uint8_t key[TOX_PASS_KEY_LENGTH]; | 133 | TOX_PASS_KEY key; |
134 | bool ret = tox_derive_key_from_pass("123qweasdzxc", 12, key, &keyerr); | 134 | bool ret = tox_derive_key_from_pass("123qweasdzxc", 12, &key, &keyerr); |
135 | ck_assert_msg(ret, "generic failure 1: %u", keyerr); | 135 | ck_assert_msg(ret, "generic failure 1: %u", keyerr); |
136 | uint8_t *string = "No Patrick, mayonnaise is not an instrument."; // 44 | 136 | uint8_t *string = "No Patrick, mayonnaise is not an instrument."; // 44 |
137 | 137 | ||
138 | uint8_t encrypted[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; | 138 | uint8_t encrypted[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; |
139 | ret = tox_pass_key_encrypt(string, 44, key, encrypted, &encerr); | 139 | ret = tox_pass_key_encrypt(string, 44, &key, encrypted, &encerr); |
140 | ck_assert_msg(ret, "generic failure 2: %u", encerr); | 140 | ck_assert_msg(ret, "generic failure 2: %u", encerr); |
141 | 141 | ||
142 | uint8_t encrypted2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; | 142 | uint8_t encrypted2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; |
@@ -146,7 +146,7 @@ START_TEST(test_keys) | |||
146 | uint8_t out1[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; | 146 | uint8_t out1[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; |
147 | uint8_t out2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; | 147 | uint8_t out2[44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH]; |
148 | 148 | ||
149 | ret = tox_pass_key_decrypt(encrypted, 44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH, key, out1, &decerr); | 149 | ret = tox_pass_key_decrypt(encrypted, 44 + TOX_PASS_ENCRYPTION_EXTRA_LENGTH, &key, out1, &decerr); |
150 | ck_assert_msg(ret, "generic failure 4: %u", decerr); | 150 | ck_assert_msg(ret, "generic failure 4: %u", decerr); |
151 | ck_assert_msg(memcmp(out1, string, 44) == 0, "decryption 1 failed"); | 151 | ck_assert_msg(memcmp(out1, string, 44) == 0, "decryption 1 failed"); |
152 | 152 | ||
@@ -161,10 +161,10 @@ START_TEST(test_keys) | |||
161 | 161 | ||
162 | uint8_t salt[TOX_PASS_SALT_LENGTH]; | 162 | uint8_t salt[TOX_PASS_SALT_LENGTH]; |
163 | ck_assert_msg(tox_get_salt(encrypted, salt), "couldn't get salt"); | 163 | ck_assert_msg(tox_get_salt(encrypted, salt), "couldn't get salt"); |
164 | uint8_t key2[TOX_PASS_KEY_LENGTH]; | 164 | TOX_PASS_KEY key2; |
165 | ret = tox_derive_key_with_salt("123qweasdzxc", 12, salt, key2, &keyerr); | 165 | ret = tox_derive_key_with_salt("123qweasdzxc", 12, salt, &key2, &keyerr); |
166 | ck_assert_msg(ret, "generic failure 7: %u", keyerr); | 166 | ck_assert_msg(ret, "generic failure 7: %u", keyerr); |
167 | ck_assert_msg(0 == memcmp(key, key2, TOX_PASS_KEY_LENGTH), "salt comparison failed"); | 167 | ck_assert_msg(0 == memcmp(&key, &key2, sizeof(TOX_PASS_KEY)), "salt comparison failed"); |
168 | } | 168 | } |
169 | END_TEST | 169 | END_TEST |
170 | 170 | ||