diff --git a/tests/hwsim/test_dpp.py b/tests/hwsim/test_dpp.py index 8b9b814f8..2cebd834d 100644 --- a/tests/hwsim/test_dpp.py +++ b/tests/hwsim/test_dpp.py @@ -13,9 +13,13 @@ import hwsim_utils from utils import HwsimSkip from wpasupplicant import WpaSupplicant -def check_dpp_capab(dev): +def check_dpp_capab(dev, brainpool=False): if "UNKNOWN COMMAND" in dev.request("DPP_BOOTSTRAP_GET_URI 0"): raise HwsimSkip("DPP not supported") + if brainpool: + tls = dev.request("GET tls_library") + if not tls.startswith("OpenSSL") or "run=BoringSSL" in tls: + raise HwsimSkip("Crypto library does not support Brainpool curves: " + tls) def test_dpp_qr_code_parsing(dev, apdev): """DPP QR Code parsing""" @@ -144,8 +148,8 @@ def run_dpp_qr_code_auth_unicast(dev, apdev, curve, netrole=None, key=None, require_conf_success=False, init_extra=None, require_conf_failure=False, configurator=False, conf_curve=None): - check_dpp_capab(dev[0]) - check_dpp_capab(dev[1]) + check_dpp_capab(dev[0], curve and "brainpool" in curve) + check_dpp_capab(dev[1], curve and "brainpool" in curve) if configurator: logger.info("Create configurator on dev1") cmd = "DPP_CONFIGURATOR_ADD" @@ -1659,8 +1663,8 @@ def test_dpp_pkex_config(dev, apdev): check_config=True) def run_dpp_pkex(dev, apdev, curve=None, init_extra="", check_config=False): - check_dpp_capab(dev[0]) - check_dpp_capab(dev[1]) + check_dpp_capab(dev[0], curve and "brainpool" in curve) + check_dpp_capab(dev[1], curve and "brainpool" in curve) cmd = "DPP_BOOTSTRAP_GEN type=pkex" if curve: @@ -2129,7 +2133,7 @@ def test_dpp_own_config_curve_mismatch(dev, apdev): dev[0].set("dpp_config_processing", "0") def run_dpp_own_config(dev, apdev, own_curve=None, expect_failure=False): - check_dpp_capab(dev[0]) + check_dpp_capab(dev[0], own_curve and "BP" in own_curve) hapd = hostapd.add_ap(apdev[0], { "ssid": "unconfigured" }) check_dpp_capab(hapd)