DPP: Fix dpp_test_gen_invalid_key() with BoringSSL
Unlike OpenSSL, BoringSSL returns an error from EC_POINT_set_affine_coordinates_GFp() is not on the curve. As such, need to behave differently here depending on which library is used. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
d584946ec1
commit
94619905c8
1 changed files with 10 additions and 1 deletions
|
@ -5842,8 +5842,15 @@ static int dpp_test_gen_invalid_key(struct wpabuf *msg,
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (EC_POINT_set_affine_coordinates_GFp(group, point, x, y,
|
if (EC_POINT_set_affine_coordinates_GFp(group, point, x, y,
|
||||||
ctx) != 1)
|
ctx) != 1) {
|
||||||
|
#ifdef OPENSSL_IS_BORINGSSL
|
||||||
|
/* Unlike OpenSSL, BoringSSL returns an error from
|
||||||
|
* EC_POINT_set_affine_coordinates_GFp() is not on the curve. */
|
||||||
|
break;
|
||||||
|
#else /* OPENSSL_IS_BORINGSSL */
|
||||||
goto fail;
|
goto fail;
|
||||||
|
#endif /* OPENSSL_IS_BORINGSSL */
|
||||||
|
}
|
||||||
|
|
||||||
if (!EC_POINT_is_on_curve(group, point, ctx))
|
if (!EC_POINT_is_on_curve(group, point, ctx))
|
||||||
break;
|
break;
|
||||||
|
@ -5857,6 +5864,8 @@ static int dpp_test_gen_invalid_key(struct wpabuf *msg,
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
fail:
|
fail:
|
||||||
|
if (ret < 0)
|
||||||
|
wpa_printf(MSG_INFO, "DPP: Failed to generate invalid key");
|
||||||
BN_free(x);
|
BN_free(x);
|
||||||
BN_free(y);
|
BN_free(y);
|
||||||
EC_POINT_free(point);
|
EC_POINT_free(point);
|
||||||
|
|
Loading…
Reference in a new issue