mirror of https://github.com/wolfSSL/wolfssl.git
AAD should be reset on Init call
parent
931eea30f5
commit
aff14091e0
23
tests/api.c
23
tests/api.c
|
@ -36462,19 +36462,8 @@ static void test_wolfssl_EVP_aes_gcm_AAD_2_parts(void)
|
||||||
|
|
||||||
AssertIntEQ(XMEMCMP(out1Part, out2Part, sizeof(out1Part)), 0);
|
AssertIntEQ(XMEMCMP(out1Part, out2Part, sizeof(out1Part)), 0);
|
||||||
AssertIntEQ(XMEMCMP(outTag1Part, outTag2Part, sizeof(outTag1Part)), 0);
|
AssertIntEQ(XMEMCMP(outTag1Part, outTag2Part, sizeof(outTag1Part)), 0);
|
||||||
|
|
||||||
/* Test AAD re-use */
|
|
||||||
AssertIntEQ(EVP_EncryptInit_ex(ctx, EVP_aes_128_gcm(), NULL, NULL, NULL), 1);
|
|
||||||
AssertIntEQ(EVP_EncryptInit_ex(ctx, NULL, NULL, key, iv), 1);
|
|
||||||
AssertIntEQ(EVP_EncryptUpdate(ctx, out1Part, &len, cleartext, sizeof(cleartext)), 1);
|
|
||||||
AssertIntEQ(EVP_EncryptFinal_ex(ctx, out1Part, &len), 1);
|
|
||||||
AssertIntEQ(len, sizeof(cleartext));
|
|
||||||
AssertIntEQ(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, outTag1Part), 1);
|
|
||||||
EVP_CIPHER_CTX_free(ctx);
|
EVP_CIPHER_CTX_free(ctx);
|
||||||
|
|
||||||
AssertIntEQ(XMEMCMP(out1Part, out2Part, sizeof(out1Part)), 0);
|
|
||||||
AssertIntEQ(XMEMCMP(outTag1Part, outTag2Part, sizeof(outTag1Part)), 0);
|
|
||||||
|
|
||||||
/* DECRYPT */
|
/* DECRYPT */
|
||||||
/* Send AAD and data in 2 parts */
|
/* Send AAD and data in 2 parts */
|
||||||
AssertNotNull(ctx = EVP_CIPHER_CTX_new());
|
AssertNotNull(ctx = EVP_CIPHER_CTX_new());
|
||||||
|
@ -36491,18 +36480,6 @@ static void test_wolfssl_EVP_aes_gcm_AAD_2_parts(void)
|
||||||
|
|
||||||
AssertIntEQ(XMEMCMP(decryptBuf, cleartext, len), 0);
|
AssertIntEQ(XMEMCMP(decryptBuf, cleartext, len), 0);
|
||||||
|
|
||||||
/* Test AAD re-use */
|
|
||||||
AssertIntEQ(EVP_DecryptInit_ex(ctx, EVP_aes_128_gcm(), NULL, NULL, NULL), 1);
|
|
||||||
AssertIntEQ(EVP_DecryptInit_ex(ctx, NULL, NULL, key, iv), 1);
|
|
||||||
AssertIntEQ(EVP_DecryptUpdate(ctx, decryptBuf, &len, out1Part, 1), 1);
|
|
||||||
AssertIntEQ(EVP_DecryptUpdate(ctx, decryptBuf, &len, out1Part + 1,
|
|
||||||
sizeof(cleartext) - 1), 1);
|
|
||||||
AssertIntEQ(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, 16, outTag1Part), 1);
|
|
||||||
AssertIntEQ(EVP_DecryptFinal_ex(ctx, decryptBuf, &len), 1);
|
|
||||||
AssertIntEQ(len, sizeof(cleartext));
|
|
||||||
|
|
||||||
AssertIntEQ(XMEMCMP(decryptBuf, cleartext, len), 0);
|
|
||||||
|
|
||||||
/* Test AAD re-use */
|
/* Test AAD re-use */
|
||||||
EVP_CIPHER_CTX_free(ctx);
|
EVP_CIPHER_CTX_free(ctx);
|
||||||
|
|
||||||
|
|
|
@ -4162,6 +4162,13 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
||||||
iv = ctx->iv;
|
iv = ctx->iv;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_AESGCM
|
||||||
|
if (ctx->gcmAuthIn) {
|
||||||
|
XFREE(ctx->gcmAuthIn, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
|
ctx->gcmAuthIn = NULL;
|
||||||
|
}
|
||||||
|
ctx->gcmAuthInSz = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_AES
|
#ifndef NO_AES
|
||||||
#ifdef HAVE_AES_CBC
|
#ifdef HAVE_AES_CBC
|
||||||
|
|
Loading…
Reference in New Issue