From b67e0635353dad59b90cf2ed71e81a348bd671db Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Wed, 13 Aug 2025 11:53:09 +0900 Subject: [PATCH] add hashtype property to wc_Sha512 --- .wolfssl_known_macro_extras | 1 + wolfcrypt/src/sha512.c | 9 +++++++++ wolfssl/wolfcrypt/sha512.h | 3 +++ 3 files changed, 13 insertions(+) diff --git a/.wolfssl_known_macro_extras b/.wolfssl_known_macro_extras index 5e2dae25e..0b2d773a3 100644 --- a/.wolfssl_known_macro_extras +++ b/.wolfssl_known_macro_extras @@ -844,6 +844,7 @@ WOLFSSL_SERVER_EXAMPLE WOLFSSL_SETTINGS_FILE WOLFSSL_SH224 WOLFSSL_SHA256_ALT_CH_MAJ +WOLFSSL_SHA512_HASHTYPE WOLFSSL_SHUTDOWNONCE WOLFSSL_SILABS_TRNG WOLFSSL_SM4_EBC diff --git a/wolfcrypt/src/sha512.c b/wolfcrypt/src/sha512.c index 82963f1fd..bf02483a6 100644 --- a/wolfcrypt/src/sha512.c +++ b/wolfcrypt/src/sha512.c @@ -325,6 +325,9 @@ static int InitSha512(wc_Sha512* sha512) #ifdef WOLFSSL_HASH_FLAGS sha512->flags = 0; #endif +#if defined(WOLFSSL_SHA512_HASHTYPE) + sha512->hashType = WC_HASH_TYPE_SHA512; +#endif /* WOLFSSL_SHA512_HASHTYPE */ return 0; } @@ -378,6 +381,9 @@ static int InitSha512_224(wc_Sha512* sha512) #ifdef WOLFSSL_HASH_FLAGS sha512->flags = 0; #endif +#if defined(WOLFSSL_SHA512_HASHTYPE) + sha512->hashType = WC_HASH_TYPE_SHA512_224; +#endif /* WOLFSSL_SHA512_HASHTYPE */ return 0; } #endif /* !WOLFSSL_NOSHA512_224 && !FIPS ... */ @@ -431,6 +437,9 @@ static int InitSha512_256(wc_Sha512* sha512) #ifdef WOLFSSL_HASH_FLAGS sha512->flags = 0; #endif +#if defined(WOLFSSL_SHA512_HASHTYPE) + sha512->hashType = WC_HASH_TYPE_SHA512_256; +#endif /* WOLFSSL_SHA512_HASHTYPE */ return 0; } #endif /* !WOLFSSL_NOSHA512_256 && !FIPS... */ diff --git a/wolfssl/wolfcrypt/sha512.h b/wolfssl/wolfcrypt/sha512.h index b41400721..36c056408 100644 --- a/wolfssl/wolfcrypt/sha512.h +++ b/wolfssl/wolfcrypt/sha512.h @@ -209,6 +209,9 @@ struct wc_Sha512 { #if defined(STM32_HASH_SHA512) STM32_HASH_Context stmCtx; #endif +#if defined(WOLFSSL_SHA512_HASHTYPE) + int hashType; /* used to determine which SHA512 is used */ +#endif /* WOLFSSL_SHA512_HASHTYPE */ #endif /* WOLFSSL_PSOC6_CRYPTO */ };