mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-01-06 11:41:12 +03:00
Promise mbedtls_ecp_read_key doesn't overwrite the public key
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
@@ -1044,11 +1044,16 @@ void mbedtls_ecp_read_key(int grp_id, data_t *in_key, int expected, int canonica
|
||||
{
|
||||
int ret = 0;
|
||||
mbedtls_ecp_keypair key;
|
||||
mbedtls_ecp_keypair key2;
|
||||
|
||||
mbedtls_ecp_keypair_init(&key);
|
||||
mbedtls_ecp_keypair key2;
|
||||
mbedtls_ecp_keypair_init(&key2);
|
||||
|
||||
#if defined(MBEDTLS_BIGNUM_C)
|
||||
TEST_EQUAL(mbedtls_mpi_lset(&key.Q.X, 1), 0);
|
||||
TEST_EQUAL(mbedtls_mpi_lset(&key.Q.Y, 2), 0);
|
||||
TEST_EQUAL(mbedtls_mpi_lset(&key.Q.Z, 3), 0);
|
||||
#endif
|
||||
|
||||
ret = mbedtls_ecp_read_key(grp_id, &key, in_key->x, in_key->len);
|
||||
TEST_ASSERT(ret == expected);
|
||||
|
||||
@@ -1057,6 +1062,12 @@ void mbedtls_ecp_read_key(int grp_id, data_t *in_key, int expected, int canonica
|
||||
ret = mbedtls_ecp_check_privkey(&key.grp, &key.d);
|
||||
TEST_ASSERT(ret == 0);
|
||||
|
||||
#if defined(MBEDTLS_BIGNUM_C)
|
||||
TEST_EQUAL(mbedtls_mpi_cmp_int(&key.Q.X, 1), 0);
|
||||
TEST_EQUAL(mbedtls_mpi_cmp_int(&key.Q.Y, 2), 0);
|
||||
TEST_EQUAL(mbedtls_mpi_cmp_int(&key.Q.Z, 3), 0);
|
||||
#endif
|
||||
|
||||
if (canonical) {
|
||||
unsigned char buf[MBEDTLS_ECP_MAX_BYTES];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user