From e394dc73ee6266f744e37f268d6279d462af7d1f Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 26 Sep 2024 14:47:29 -0400 Subject: lib: crypto: Implement AES message free functions Signed-off-by: Ian Moffett --- lib/crypto/aes.c | 23 +++++++++++++++++++++++ lib/include/crypto/aes.h | 3 +++ 2 files changed, 26 insertions(+) (limited to 'lib') diff --git a/lib/crypto/aes.c b/lib/crypto/aes.c index ea9fe98..c51c594 100644 --- a/lib/crypto/aes.c +++ b/lib/crypto/aes.c @@ -33,6 +33,7 @@ #include #include #include +#include /* * Encrypt 'data' with AES-256-GCM. @@ -232,3 +233,25 @@ aes256_decrypt(struct aes_message *amp, const unsigned char *key, *res = plaintext; return 0; } + +/* + * Free data from AES message structure. + */ +int +aes256_free_msg(struct aes_message *amp) +{ + free(amp->ciphertext); + return 0; +} + +/* + * Free memory used for plaintext. + */ +int +aes256_free_plain(unsigned char *plain, size_t len) +{ + memset(plain, 0, len); + munlock(plain, len); + free(plain); + return 0; +} diff --git a/lib/include/crypto/aes.h b/lib/include/crypto/aes.h index 5973323..ac4604b 100644 --- a/lib/include/crypto/aes.h +++ b/lib/include/crypto/aes.h @@ -47,4 +47,7 @@ int aes256_encrypt(const unsigned char *data, size_t len, int aes256_decrypt(struct aes_message *amp, const unsigned char *key, unsigned char **res); +int aes256_free_msg(struct aes_message *amp); +int aes256_free_plain(unsigned char *plain, size_t len); + #endif /* CRYPTO_AES_H_ */ -- cgit v1.2.3