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"""
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"
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:
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)