From 9d339f288eda10e5334bbf4ccdfd068eaee95c0e Mon Sep 17 00:00:00 2001 From: Miloslav Trmač Date: Mon, 15 Nov 2010 21:19:21 +0100 Subject: Add ncr_symm_cipher_change_iv --- tests/symm_ciphers.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'tests') diff --git a/tests/symm_ciphers.c b/tests/symm_ciphers.c index a6f3570..2c2cd92 100644 --- a/tests/symm_ciphers.c +++ b/tests/symm_ciphers.c @@ -204,6 +204,62 @@ main (void) assert (res == CKR_OK); } + for (i = 0; i < G_N_ELEMENTS (tvs); i++) + { + res = ncr_symm_cipher_alloc (&sess, tvs[i].mech); + assert (res == CKR_OK); + + res = ncr_symm_key_create (&key, tvs[i].key_type, true, tvs[i].key, + tvs[i].key_size); + assert (res == CKR_OK); + + res = ncr_symm_cipher_encrypt_init (sess, key, tvs[i].iv, tvs[i].iv_size); + assert (res == CKR_OK); + + dest_size = sizeof (dest); + res = ncr_symm_cipher_encrypt_update (sess, dest, &dest_size, + tvs[i].input, tvs[i].input_size); + assert (res == CKR_OK); + assert (dest_size == tvs[i].output_size); + assert (memcmp (dest, tvs[i].output, dest_size) == 0); + + res = ncr_symm_cipher_change_iv (sess, tvs[i].iv, tvs[i].iv_size); + assert (res == CKR_OK); + + dest_size = sizeof (dest); + res = ncr_symm_cipher_encrypt_final (sess, dest, &dest_size, tvs[i].input, + tvs[i].input_size); + assert (res == CKR_OK); + assert (dest_size == tvs[i].output_size); + assert (memcmp (dest, tvs[i].output, dest_size) == 0); + + res = ncr_symm_cipher_decrypt_init (sess, key, tvs[i].iv, tvs[i].iv_size); + assert (res == CKR_OK); + + dest_size = sizeof (dest); + res = ncr_symm_cipher_decrypt_update (sess, dest, &dest_size, + tvs[i].output, tvs[i].output_size); + assert (res == CKR_OK); + assert (dest_size == tvs[i].input_size); + assert (memcmp (dest, tvs[i].input, dest_size) == 0); + + res = ncr_symm_cipher_change_iv (sess, tvs[i].iv, tvs[i].iv_size); + assert (res == CKR_OK); + + dest_size = sizeof (dest); + res = ncr_symm_cipher_decrypt_final (sess, dest, &dest_size, + tvs[i].output, tvs[i].output_size); + assert (res == CKR_OK); + assert (dest_size == tvs[i].input_size); + assert (memcmp (dest, tvs[i].input, dest_size) == 0); + + res = ncr_symm_key_destroy (key); + assert (res == CKR_OK); + + res = ncr_symm_cipher_free (sess); + assert (res == CKR_OK); + } + for (i = 0; i < G_N_ELEMENTS (tvs); i++) { res = ncr_symm_cipher_alloc (&sess, tvs[i].mech); -- cgit