Files
wolfssl/wolfcrypt/src
Daniel Pouzzner 689a82a622 fix AES-related code, in both crypto and TLS layers, for various uninitialized data and resource leak defects around wc_AesInit() and wc_AesFree():
* followup to https://github.com/wolfSSL/wolfssl/pull/7009 "20231128-misc-fixes" and  https://github.com/wolfSSL/wolfssl/pull/7011 "Add missing wc_AesInit calls."

* adds WC_DEBUG_CIPHER_LIFECYCLE, which embeds asserts in low-level AES implementations for proper usage of wc_AesInit() and wc_AesFree().

* fixes native CMAC, AES-EAX, and AES-XTS implementations to assure resource release.

* adds missing wc_AesXtsInit() API, and adds a new wc_AesXtsSetKey_NoInit().

* fixes misspellings in EVP that unconditionally gated out AES-OFB and AES-XTS.

* fixes misspellings in EVP that unconditionally gated out AES-CBC and AES-CFB code in wolfSSL_EVP_CIPHER_CTX_cleanup_cipher().

* openssl compat AES low level cipher API has no counterpart to wc_AesFree(), so these compat APIs will now be gated out in configurations where they would otherwise leak memory or file descriptors (WOLFSSL_AFALG, WOLFSSL_DEVCRYPTO, WOLF_CRYPTO_CB, etc.).  A new macro, WC_AESFREE_IS_MANDATORY, is defined in wolfcrypt/aes.h to streamline this dependency.

* fixes 40 missing EVP_CIPHER_CTX_cleanup()s and 11 wc_AesFree()s in src/ssl.c, src/ssl_crypto.c, tests/api.c, and wolfcrypt/test/test.c.
2023-12-05 15:58:09 -06:00
..
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2023-08-25 13:59:23 -04:00
2022-12-30 17:12:11 -07:00
2023-07-04 07:21:27 +02:00
2023-07-04 07:21:27 +02:00
2023-09-08 15:23:15 +10:00
2023-07-04 07:21:27 +02:00
2023-11-22 12:34:56 -06:00
2023-11-22 12:34:56 -06:00
2022-12-30 17:12:11 -07:00
2023-07-13 08:36:02 +10:00
2022-12-30 17:12:11 -07:00
2023-06-07 17:27:51 +10:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2023-07-13 08:36:02 +10:00
2023-08-24 17:43:03 +10:00
2023-11-08 15:04:46 +10:00
2023-07-13 08:36:02 +10:00
2022-12-30 17:12:11 -07:00
2023-04-19 15:12:15 -07:00
2023-08-24 10:53:26 +02:00
2023-07-04 07:21:27 +02:00
2022-12-30 17:12:11 -07:00
2023-11-30 13:09:55 -06:00
2023-07-04 07:21:27 +02:00
2023-07-04 07:21:27 +02:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-11-22 12:34:56 -06:00
2023-11-22 12:34:56 -06:00
2023-11-22 12:34:56 -06:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-10-13 08:14:15 +10:00
2023-11-22 12:34:56 -06:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2022-12-30 17:12:11 -07:00
2023-07-06 10:55:53 -05:00
2023-11-29 16:45:06 -07:00
2023-10-05 09:18:50 -05:00
2023-09-08 16:34:04 -04:00