|
35 | 35 | #ifdef HASH_DIGEST |
36 | 36 | /* The HASH_DIGEST register indicates SHA224/SHA256 support */ |
37 | 37 | #define STM32_HASH_SHA2 |
38 | | - #if defined(WOLFSSL_STM32H5) || defined(WOLFSSL_STM32MP13) || \ |
39 | | - defined(WOLFSSL_STM32N6) |
| 38 | + #if defined(WOLFSSL_STM32MP13) || defined(WOLFSSL_STM32H7S) || \ |
| 39 | + defined(WOLFSSL_STM32N6) || defined(WOLFSSL_STM32H5) |
40 | 40 | #define HASH_CR_SIZE 103 |
41 | 41 | #define HASH_MAX_DIGEST 64 /* Up to SHA512 */ |
42 | | - #else |
43 | | - #define HASH_CR_SIZE 54 |
44 | | - #define HASH_MAX_DIGEST 32 |
45 | | - #endif |
46 | | - #if defined(WOLFSSL_STM32MP13) || defined(WOLFSSL_STM32H7S) || \ |
47 | | - defined(WOLFSSL_STM32N6) |
| 42 | + |
48 | 43 | #define STM32_HASH_SHA512 |
49 | 44 | #define STM32_HASH_SHA512_224 |
50 | 45 | #define STM32_HASH_SHA512_256 |
51 | 46 | #define STM32_HASH_SHA384 |
| 47 | + #else |
| 48 | + #define HASH_CR_SIZE 54 |
| 49 | + #define HASH_MAX_DIGEST 32 |
52 | 50 | #endif |
53 | 51 | #if defined(WOLFSSL_STM32MP13) |
54 | 52 | #define STM32_HASH_SHA3 |
|
58 | 56 | #define HASH_MAX_DIGEST 20 |
59 | 57 | #endif |
60 | 58 |
|
| 59 | +#ifdef WOLFSSL_STM32MP13 |
| 60 | + /* From stm32_hal_legacy.h, but that MP13 header has a bug in it */ |
| 61 | + #define HASH_AlgoSelection_MD5 HASH_ALGOSELECTION_MD5 |
| 62 | + #define HASH_AlgoSelection_SHA1 HASH_ALGOSELECTION_SHA1 |
| 63 | + #define HASH_AlgoSelection_SHA224 HASH_ALGOSELECTION_SHA224 |
| 64 | + #define HASH_AlgoSelection_SHA256 HASH_ALGOSELECTION_SHA256 |
| 65 | +#endif |
| 66 | + |
| 67 | +/* These HASH HAL's have no MD5 implementation */ |
| 68 | +#if defined(WOLFSSL_STM32MP13) || defined(WOLFSSL_STM32H7S) || \ |
| 69 | + defined(WOLFSSL_STM32N6) || defined(WOLFSSL_STM32H5) |
| 70 | + #define STM32_NOMD5 |
| 71 | +#endif |
| 72 | + |
61 | 73 | /* Handle hash differences between CubeMX and StdPeriLib */ |
62 | 74 | #if !defined(HASH_ALGOMODE_HASH) && defined(HASH_AlgoMode_HASH) |
63 | 75 | #define HASH_ALGOMODE_HASH HASH_AlgoMode_HASH |
@@ -130,17 +142,6 @@ int wc_Stm32_Hash_Final(STM32_HASH_Context* stmCtx, word32 algo, |
130 | 142 | #define __HAL_RCC_RNG_CLK_ENABLE __HAL_RCC_RNG1_CLK_ENABLE |
131 | 143 | #define __HAL_RCC_HASH_CLK_ENABLE __HAL_RCC_HASH1_CLK_ENABLE |
132 | 144 | #define __HAL_RCC_HASH_CLK_DISABLE __HAL_RCC_HASH1_CLK_DISABLE |
133 | | - /* From stm32_hal_legacy.h, but that header has a bug in it */ |
134 | | - #define HASH_AlgoSelection_MD5 HASH_ALGOSELECTION_MD5 |
135 | | - #define HASH_AlgoSelection_SHA1 HASH_ALGOSELECTION_SHA1 |
136 | | - #define HASH_AlgoSelection_SHA224 HASH_ALGOSELECTION_SHA224 |
137 | | - #define HASH_AlgoSelection_SHA256 HASH_ALGOSELECTION_SHA256 |
138 | | - |
139 | | - #define STM32_NOMD5 /* The HASH HAL has no MD5 implementation */ |
140 | | -#endif |
141 | | - |
142 | | -#if defined(WOLFSSL_STM32N6) |
143 | | - #define STM32_NOMD5 /* The HASH HAL has no MD5 implementation */ |
144 | 145 | #endif |
145 | 146 |
|
146 | 147 | #ifndef NO_AES |
|
0 commit comments