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 } |