diff --git a/ChangeLog b/ChangeLog index d4e945a86..3a8e94a57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,9 @@ Features rfc 5280 section 4.2.1.4. Bugfix + * Fix bugs in the AEAD test suite which would be exposed by ciphers which + either used both encrypt and decrypt key schedules, or which perform padding. + GCM and CCM were not affected. Fixed by Jack Lloyd. * Fix private key DER output in the key_app_writer example. File contents were shifted by one byte, creating an invalid ASN.1 tag. Fixed by Christian Walther in #2239. diff --git a/tests/suites/test_suite_cipher.function b/tests/suites/test_suite_cipher.function index a7d3a6ee3..9a0637ee1 100644 --- a/tests/suites/test_suite_cipher.function +++ b/tests/suites/test_suite_cipher.function @@ -1011,6 +1011,9 @@ void auth_crypt_tv( int cipher_id, data_t * key, data_t * iv, TEST_ASSERT( memcmp( output, clear->x, clear->len ) == 0 ); /* then encrypt the clear->x and make sure we get the same ciphertext and tag->x */ + TEST_ASSERT( 0 == mbedtls_cipher_setkey( &ctx, key->x, 8 * key->len, + MBEDTLS_ENCRYPT ) ); + memset( output, 0xFF, sizeof( output ) ); outlen = 0; @@ -1023,7 +1026,7 @@ void auth_crypt_tv( int cipher_id, data_t * key, data_t * iv, output_tag, tag->len ); TEST_ASSERT( ret == 0 ); - TEST_ASSERT( outlen == clear->len ); + TEST_ASSERT( outlen == cipher->len ); TEST_ASSERT( memcmp( output, cipher->x, cipher->len ) == 0 ); TEST_ASSERT( memcmp( output_tag, tag->x, tag->len ) == 0 );