Merge pull request #6889 from SparkiDev/sm2_priv_import_range

ECC SM2 import private key: check less than order-1
This commit is contained in:
JacobBarthelmeh
2023-10-19 17:12:07 -06:00
committed by GitHub

View File

@ -10883,6 +10883,13 @@ int wc_ecc_import_private_key_ex(const byte* priv, word32 privSz,
if (ret == 0) {
ret = mp_read_radix(order, key->dp->order, MP_RADIX_HEX);
}
#ifdef WOLFSSL_SM2
/* SM2 curve: private key must be less than order-1. */
if ((ret == 0) && (key->idx != ECC_CUSTOM_IDX) &&
(ecc_sets[key->idx].id == ECC_SM2P256V1)) {
ret = mp_sub_d(order, 1, order);
}
#endif
if ((ret == 0) && (mp_cmp(key->k, order) != MP_LT)) {
ret = ECC_PRIV_KEY_E;
}