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
..
2023-12-05 15:58:09 -06:00
2023-11-17 10:15:03 -06:00
2023-11-17 01:15:28 -06:00
2023-11-17 01:15:28 -06:00
2023-11-17 01:15:28 -06:00
2022-12-30 17:12:11 -07:00
2023-11-17 01:15:28 -06:00
2023-12-05 15:58:09 -06:00
2022-12-30 17:12:11 -07:00
2023-07-14 09:50:01 -05:00
2023-12-05 14:08:43 -07:00
2023-06-12 23:15:08 -05:00
2023-04-19 15:26:05 -05:00
2023-07-13 08:36:02 +10:00
2023-06-14 12:28:50 -05:00
2023-09-28 14:44:23 -05:00
2023-10-12 13:58:43 -06:00
2023-12-05 15:58:09 -06:00
2023-05-09 23:55:08 -05:00
2023-06-27 08:01:33 +10:00
2023-05-31 15:48:52 -05:00
2023-08-25 13:59:23 -04:00
2023-04-19 15:26:05 -05:00
2023-09-01 11:36:18 -05:00
2023-09-19 13:10:16 -04:00
2023-09-19 13:10:16 -04:00
2022-12-30 17:12:11 -07:00
2023-07-04 07:21:27 +02:00
2015-01-05 13:40:26 -07:00
2023-11-29 11:59:35 -06:00
2023-10-16 18:23:45 -05:00
2023-07-04 07:21:27 +02:00
2023-09-08 15:23:15 +10:00
2023-10-06 11:10:06 -06:00
2023-12-05 15:58:09 -06: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
2023-06-01 14:21:41 +10:00
2023-09-28 14:44:23 -05: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
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-09-08 15:23:15 +10:00
2023-07-06 00:53:37 -05:00
wolfcrypt/src/{hmac.c,sha256.c,sha512.c,kdf.c}: ForceZero() smallstack buffers before freeing them, and ForceZero() the Hmac, wc_Sha512, wc_Sha384, wc_Sha256, and wc_Sha224 structures at the end of their respective freeing routines. also, remove superseded ForceZero() calls in wc_HKDF_Expand(), wc_SSH_KDF(), and wc_HKDF_Extract().
2023-09-06 14:53:19 -05:00
2023-11-01 14:46:02 -06:00
2023-08-13 09:23:03 +09:00
2023-11-23 07:28:55 +10:00
2023-11-08 15:04:46 +10:00
2023-11-28 13:15:02 -07: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-12-05 15:58:09 -06:00
2023-08-24 10:53:26 +02:00
2023-11-01 14:46:02 -06:00
2023-07-04 07:21:27 +02:00
2023-09-28 14:44:23 -05:00
2023-04-18 12:23:24 -05:00
2023-11-17 01:15:28 -06:00
2023-11-20 18:05:18 -08:00
2022-12-30 17:12:11 -07:00
2023-04-18 09:41:42 -07:00
2023-11-30 13:09:55 -06:00
2023-07-04 07:21:27 +02:00
2023-09-28 14:44:23 -05:00
2023-10-11 16:12:34 -07:00
2023-09-28 14:44:23 -05:00
2023-11-21 16:22:49 -08:00
2023-09-28 14:44:23 -05:00
2023-11-20 18:05:18 -08:00
2023-11-21 16:22:49 -08:00
2023-07-06 09:34:03 -07: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-30 08:40:37 +10:00
2023-11-22 12:34:56 -06:00
2023-11-30 08:40:37 +10:00
2023-11-22 12:34:56 -06:00
2023-11-22 12:34:56 -06:00
2023-11-30 08:40:37 +10:00
2023-11-01 10:35:12 -05:00
2023-11-28 23:25:31 -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-07 16:12:07 +10:00
2023-11-07 16:12:07 +10:00
2023-11-22 12:34:56 -06:00
2023-07-10 18:31:07 +02:00
2023-04-19 15:26:05 -05:00
2023-11-28 11:08:57 -07:00
2022-12-30 17:12:11 -07:00
2023-04-18 12:23:24 -05: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-09-15 15:18:11 +02: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
2023-04-12 01:37:09 -05:00