Skip to content

Commit 1abaa94

Browse files
Merge pull request #6889 from SparkiDev/sm2_priv_import_range
ECC SM2 import private key: check less than order-1
2 parents 22be42a + abd7bb3 commit 1abaa94

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

wolfcrypt/src/ecc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10883,6 +10883,13 @@ int wc_ecc_import_private_key_ex(const byte* priv, word32 privSz,
1088310883
if (ret == 0) {
1088410884
ret = mp_read_radix(order, key->dp->order, MP_RADIX_HEX);
1088510885
}
10886+
#ifdef WOLFSSL_SM2
10887+
/* SM2 curve: private key must be less than order-1. */
10888+
if ((ret == 0) && (key->idx != ECC_CUSTOM_IDX) &&
10889+
(ecc_sets[key->idx].id == ECC_SM2P256V1)) {
10890+
ret = mp_sub_d(order, 1, order);
10891+
}
10892+
#endif
1088610893
if ((ret == 0) && (mp_cmp(key->k, order) != MP_LT)) {
1088710894
ret = ECC_PRIV_KEY_E;
1088810895
}

0 commit comments

Comments
 (0)