diff -r 9922a349a61a -r d405d2ac78e6 test/crypto.c --- a/test/crypto.c Mon Dec 02 13:29:36 2019 +0100 +++ b/test/crypto.c Wed Dec 04 11:47:51 2019 +0100 @@ -261,6 +261,14 @@ UcxBuffer *enc = aes_encrypt_buffer(content, key); UCX_TEST_ASSERT(enc->size >= content->size + 16, "aes_encrypt_buffer failed"); + char *base64 = util_base64encode(enc->space, enc->size); + size_t plainlen = 0; + char *plain = aes_decrypt(base64, &plainlen, key); + + UCX_TEST_ASSERT(plain, "aes_decrypt failed"); + UCX_TEST_ASSERT(plainlen == content->size, "aes_decrypt: wrong length"); + UCX_TEST_ASSERT(!memcmp(plain, content->space, plainlen), "aes_decrypt: wrong content"); + UcxBuffer *dec = aes_decrypt_buffer(enc, key); UCX_TEST_ASSERT(dec->size == content->size, "aes_decrypt_buffer failed"); @@ -269,6 +277,8 @@ ucx_buffer_free(content); ucx_buffer_free(enc); ucx_buffer_free(dec); + free(base64); + free(plain); } } @@ -447,6 +457,7 @@ int index = 16*p + 4*s + i; int keylen = index % 2 == 0 ? 16 : 32; + UCX_TEST_ASSERT(key, "no key"); UCX_TEST_ASSERT(keylen == key->length, "wrong key length"); UCX_TEST_ASSERT(!memcmp(key->data, pwgenkeys[index], keylen), "wrong key data"); }