Skip to content

Commit 49afda6

Browse files
TofMassilia13320Grom-
authored andcommitted
[core/api/certificate] Fix digest size type
1 parent fbe9ef0 commit 49afda6

File tree

5 files changed

+9
-13
lines changed

5 files changed

+9
-13
lines changed

api/stse_asymmetric_keys_management.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ stse_ReturnCode_t stse_sign_for_generic_public_key_slot(
179179
defined(STSE_CONF_USE_SYMMETRIC_KEY_PROVISIONING_WRAPPED_AUTHENTICATED)
180180

181181
stse_ReturnCode_t ret;
182-
PLAT_UI32 hash_length = stsafea_hash_info_table[hash_algo].length;
182+
PLAT_UI16 hash_length = stsafea_hash_info_table[hash_algo].length;
183183
PLAT_UI8 hash_data[hash_length];
184184

185185
if (pPrivate_key == NULL || pPayload == NULL || pSignature == NULL ||
@@ -188,9 +188,8 @@ stse_ReturnCode_t stse_sign_for_generic_public_key_slot(
188188
}
189189

190190
#ifdef STSE_CONF_ECC_EDWARD_25519
191-
if (private_key_type != STSE_ECC_KT_ED25519)
191+
if (private_key_type != STSE_ECC_KT_ED25519) {
192192
#endif /* STSE_CONF_ECC_EDWARD_25519 */
193-
{
194193
/* - Hash the payload */
195194
ret = stse_platform_hash_compute(
196195
hash_algo,
@@ -210,13 +209,10 @@ stse_ReturnCode_t stse_sign_for_generic_public_key_slot(
210209
pPrivate_key,
211210
#ifdef STSE_CONF_ECC_EDWARD_25519
212211
(private_key_type == STSE_ECC_KT_ED25519) ? pPayload : hash_data,
213-
#else
214-
hash_length,
215-
#endif
216-
#ifdef STSE_CONF_ECC_EDWARD_25519
217212
(private_key_type == STSE_ECC_KT_ED25519) ? payload_length : hash_length,
218213
#else
219-
hash_length,
214+
hash_data,
215+
hash_length,
220216
#endif
221217
pSignature);
222218

certificate/stse_certificate_crypto.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ stse_ReturnCode_t stse_certificate_verify_cert_signature(const stse_certificate_
3333
}
3434

3535
#ifdef STSE_CONF_STSAFE_L_SUPPORT
36-
PLAT_UI32 digestSize = 32U;
36+
PLAT_UI16 digestSize = 32U;
3737
#else
38-
PLAT_UI32 digestSize = stsafea_hash_info_table[hash_algo].length;
38+
PLAT_UI16 digestSize = stsafea_hash_info_table[hash_algo].length;
3939
#endif /* STSE_CONF_STSAFE_A_SUPPORT*/
4040
PLAT_UI8 digest[digestSize];
4141
PLAT_UI8 *digestPtr = digest;

certificate/stse_certificate_subparsing.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ void stse_certificate_parse_ECC_public_key(const PLAT_UI8 *EccPK, stse_certifica
203203
next += size;
204204
tag = stse_certificate_identify_ASN1_TLV(next, &parsed, &size, &next);
205205
if (tag == TAG_BITSTRING) {
206-
if ((next[0] == 0x00U) && (stse_certificate->EllipticCurve != EC_Ed25519)) {
206+
if ((next[0] == 0x00U) && (stse_certificate->EllipticCurve != EC_Ed25519)) {
207207

208208
switch (next[1]) {
209209
case 0x04U:

core/stse_platform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ stse_ReturnCode_t stse_platform_ecc_verify(stse_ecc_key_type_t key_type,
133133
*/
134134
stse_ReturnCode_t stse_platform_hash_compute(stse_hash_algorithm_t hash_algo,
135135
PLAT_UI8 *pPayload, PLAT_UI32 payload_length,
136-
PLAT_UI8 *pHash, PLAT_UI32 *hash_length);
136+
PLAT_UI8 *pHash, PLAT_UI16 *hash_length);
137137

138138
#if defined(STSE_CONF_USE_HOST_KEY_ESTABLISHMENT) || \
139139
defined(STSE_CONF_USE_HOST_KEY_PROVISIONING_WRAPPED) || \

services/stsafea/stsafea_host_key_slot.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,8 +397,8 @@ stse_ReturnCode_t stsafea_establish_host_key_authenticated(
397397

398398
/* Hash algo ID */
399399
stse_frame_element_allocate(eHash_algo_id, STSAFEA_GENERIC_LENGTH_SIZE, NULL);
400-
PLAT_UI8 padding_hash[STSAFEA_HASH_ALGO_ID_LENGTH_SIZE] = {0};
401400
#ifdef STSE_CONF_ECC_EDWARD_25519
401+
PLAT_UI8 padding_hash[STSAFEA_HASH_ALGO_ID_LENGTH_SIZE] = {0};
402402
if (signature_public_key_type == STSE_ECC_KT_ED25519) {
403403
eHash_algo_id.length = STSAFEA_HASH_ALGO_ID_LENGTH_SIZE;
404404
eHash_algo_id.pData = padding_hash;

0 commit comments

Comments
 (0)