This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit fbcc3203211187852804357be746f81e20d012ba Author: makejian <makej...@xiaomi.com> AuthorDate: Wed Mar 27 17:41:46 2024 +0800 openssl_mbedtls_wrapper: Implement SHA1 Interface Signed-off-by: makejian <makej...@xiaomi.com> --- crypto/openssl_mbedtls_wrapper/mbedtls/sha.c | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/crypto/openssl_mbedtls_wrapper/mbedtls/sha.c b/crypto/openssl_mbedtls_wrapper/mbedtls/sha.c index 7b7efe1eb..4541332fb 100644 --- a/crypto/openssl_mbedtls_wrapper/mbedtls/sha.c +++ b/crypto/openssl_mbedtls_wrapper/mbedtls/sha.c @@ -22,12 +22,42 @@ * Included Files ****************************************************************************/ +#include <mbedtls/sha1.h> #include <openssl/sha.h> /**************************************************************************** * Public Functions ****************************************************************************/ +int SHA1_Init(SHA_CTX *sha) +{ + mbedtls_sha1_init((mbedtls_sha1_context *)sha); + mbedtls_sha1_starts((mbedtls_sha1_context *)sha); + return 0; +} + +int SHA1_Update(SHA_CTX *sha, const void *data, size_t len) +{ + return mbedtls_sha1_update((mbedtls_sha1_context *)sha, data, len); +} + +int SHA1_Final(uint8_t out[SHA_DIGEST_LENGTH], SHA_CTX *sha) +{ + return mbedtls_sha1_finish((mbedtls_sha1_context *)sha, + (unsigned char *)out); +} + +uint8_t *SHA1(const uint8_t *data, size_t len, + uint8_t out[SHA_DIGEST_LENGTH]) +{ + if (mbedtls_sha1(data, len, out) != 0) + { + return NULL; + } + + return out; +} + int SHA256_Init(SHA256_CTX *sha) { return 0;