mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
Improve the error handling for non ECC_SECP256R1 curve in wc_ecc_make_key_ex.
This commit is contained in:
@@ -3897,6 +3897,7 @@ static int wc_ecc_make_pub_ex(ecc_key* key, ecc_curve_spec* curveIn,
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
(void)curveIn;
|
(void)curveIn;
|
||||||
|
err = NOT_COMPILED_IN;
|
||||||
#endif /* WOLFSSL_ATECC508A */
|
#endif /* WOLFSSL_ATECC508A */
|
||||||
|
|
||||||
/* change key state if public part is cached */
|
/* change key state if public part is cached */
|
||||||
@@ -3974,6 +3975,7 @@ int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id)
|
|||||||
#endif /* WOLFSSL_ASYNC_CRYPT && WC_ASYNC_ENABLE_ECC */
|
#endif /* WOLFSSL_ASYNC_CRYPT && WC_ASYNC_ENABLE_ECC */
|
||||||
|
|
||||||
#ifdef WOLFSSL_ATECC508A
|
#ifdef WOLFSSL_ATECC508A
|
||||||
|
if (curve_id == ECC_SECP256R1) {
|
||||||
key->type = ECC_PRIVATEKEY;
|
key->type = ECC_PRIVATEKEY;
|
||||||
key->slot = atmel_ecc_alloc(ATMEL_SLOT_ECDHE);
|
key->slot = atmel_ecc_alloc(ATMEL_SLOT_ECDHE);
|
||||||
err = atmel_ecc_create_key(key->slot, key->pubkey_raw);
|
err = atmel_ecc_create_key(key->slot, key->pubkey_raw);
|
||||||
@@ -3988,6 +3990,10 @@ int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id)
|
|||||||
key->pubkey_raw + ECC_MAX_CRYPTO_HW_SIZE,
|
key->pubkey_raw + ECC_MAX_CRYPTO_HW_SIZE,
|
||||||
ECC_MAX_CRYPTO_HW_SIZE);
|
ECC_MAX_CRYPTO_HW_SIZE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
err = NOT_COMPILED_IN;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#ifdef WOLFSSL_HAVE_SP_ECC
|
#ifdef WOLFSSL_HAVE_SP_ECC
|
||||||
|
Reference in New Issue
Block a user