40
40
#include "mbedtls/sha1.h"
41
41
#include "mbedtls/sha256.h"
42
42
43
- #if defined(MBEDTLS_SHA256_ALT ) || defined(MBEDTLS_SHA1_ALT )
43
+ #if ( defined(MBEDTLS_SHA256_ALT ) && defined( MBEDTLS_SHA256_C ) ) || ( defined(MBEDTLS_SHA1_ALT ) && defined ( MBEDTLS_SHA1_C ) )
44
44
45
45
#include "em_device.h"
46
46
51
51
#include "em_assert.h"
52
52
#include <string.h>
53
53
54
+ #if defined(MBEDTLS_SHA1_C )
54
55
static const uint32_t init_state_sha1 [8 ] =
55
56
{
56
57
0x67452301UL ,
@@ -62,7 +63,9 @@ static const uint32_t init_state_sha1[8] =
62
63
0x0UL ,
63
64
0x0UL
64
65
};
66
+ #endif /* defined(MBEDTLS_SHA1_C) */
65
67
68
+ #if defined(MBEDTLS_SHA256_C )
66
69
static const uint32_t init_state_sha256 [8 ] =
67
70
{
68
71
0x6A09E667UL ,
@@ -86,6 +89,7 @@ static const uint32_t init_state_sha224[8] =
86
89
0x64F98FA7UL ,
87
90
0xBEFA4FA4UL
88
91
};
92
+ #endif /* defined(MBEDTLS_SHA256_C) */
89
93
90
94
static const unsigned char sha_padding [64 ] =
91
95
{
@@ -96,8 +100,12 @@ static const unsigned char sha_padding[64] =
96
100
};
97
101
98
102
typedef enum {
103
+ #if defined(MBEDTLS_SHA1_C )
99
104
CRYPTO_SHA1 ,
105
+ #endif /* defined(MBEDTLS_SHA1_C) */
106
+ #if defined(MBEDTLS_SHA256_C )
100
107
CRYPTO_SHA2
108
+ #endif /* defined(MBEDTLS_SHA256_C) */
101
109
} crypto_sha_mode_t ;
102
110
103
111
/*
@@ -131,12 +139,16 @@ static void crypto_sha_update_state( uint32_t state[8],
131
139
CRYPTO_TypeDef * crypto = crypto_management_acquire ();
132
140
133
141
switch ( mode ) {
142
+ #if defined(MBEDTLS_SHA1_C )
134
143
case CRYPTO_SHA1 :
135
144
crypto -> CTRL = CRYPTO_CTRL_SHA_SHA1 ;
136
145
break ;
146
+ #endif /* defined(MBEDTLS_SHA1_C) */
147
+ #if defined(MBEDTLS_SHA256_C )
137
148
case CRYPTO_SHA2 :
138
149
crypto -> CTRL = CRYPTO_CTRL_SHA_SHA2 ;
139
150
break ;
151
+ #endif /* defined(MBEDTLS_SHA256_C) */
140
152
}
141
153
142
154
crypto -> WAC = 0 ;
@@ -446,4 +458,4 @@ void mbedtls_sha1_process( mbedtls_sha1_context *ctx,
446
458
447
459
#endif /* #if defined(CRYPTO_PRESENT) */
448
460
449
- #endif /* #if defined(MBEDTLS_SHA256_ALT) || defined(MBEDTLS_SHA1_ALT) */
461
+ #endif /* #if ( defined(MBEDTLS_SHA256_ALT) && defined(MBEDTLS_SHA256_C) ) || ( defined(MBEDTLS_SHA1_ALT) && defined (MBEDTLS_SHA1_C) ) */
0 commit comments