test/crypto.c

changeset 688
d405d2ac78e6
parent 515
2465dd550bb5
child 747
efbd59642577
equal deleted inserted replaced
687:9922a349a61a 688:d405d2ac78e6
259 content->pos = 0; 259 content->pos = 0;
260 260
261 UcxBuffer *enc = aes_encrypt_buffer(content, key); 261 UcxBuffer *enc = aes_encrypt_buffer(content, key);
262 UCX_TEST_ASSERT(enc->size >= content->size + 16, "aes_encrypt_buffer failed"); 262 UCX_TEST_ASSERT(enc->size >= content->size + 16, "aes_encrypt_buffer failed");
263 263
264 char *base64 = util_base64encode(enc->space, enc->size);
265 size_t plainlen = 0;
266 char *plain = aes_decrypt(base64, &plainlen, key);
267
268 UCX_TEST_ASSERT(plain, "aes_decrypt failed");
269 UCX_TEST_ASSERT(plainlen == content->size, "aes_decrypt: wrong length");
270 UCX_TEST_ASSERT(!memcmp(plain, content->space, plainlen), "aes_decrypt: wrong content");
271
264 UcxBuffer *dec = aes_decrypt_buffer(enc, key); 272 UcxBuffer *dec = aes_decrypt_buffer(enc, key);
265 UCX_TEST_ASSERT(dec->size == content->size, "aes_decrypt_buffer failed"); 273 UCX_TEST_ASSERT(dec->size == content->size, "aes_decrypt_buffer failed");
266 274
267 UCX_TEST_ASSERT(!memcmp(content->space, dec->space, dec->size), "decrypted buffer has wrong content"); 275 UCX_TEST_ASSERT(!memcmp(content->space, dec->space, dec->size), "decrypted buffer has wrong content");
268 276
269 ucx_buffer_free(content); 277 ucx_buffer_free(content);
270 ucx_buffer_free(enc); 278 ucx_buffer_free(enc);
271 ucx_buffer_free(dec); 279 ucx_buffer_free(dec);
280 free(base64);
281 free(plain);
272 } 282 }
273 } 283 }
274 284
275 UCX_TEST_END; 285 UCX_TEST_END;
276 } 286 }
445 DavKey *key = keys[i]; 455 DavKey *key = keys[i];
446 456
447 int index = 16*p + 4*s + i; 457 int index = 16*p + 4*s + i;
448 int keylen = index % 2 == 0 ? 16 : 32; 458 int keylen = index % 2 == 0 ? 16 : 32;
449 459
460 UCX_TEST_ASSERT(key, "no key");
450 UCX_TEST_ASSERT(keylen == key->length, "wrong key length"); 461 UCX_TEST_ASSERT(keylen == key->length, "wrong key length");
451 UCX_TEST_ASSERT(!memcmp(key->data, pwgenkeys[index], keylen), "wrong key data"); 462 UCX_TEST_ASSERT(!memcmp(key->data, pwgenkeys[index], keylen), "wrong key data");
452 } 463 }
453 } 464 }
454 } 465 }

mercurial