tests: Mixed SAE and non-SAE network and MFP required with SAE

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2017-12-27 18:28:07 +02:00
parent ba3d435fe4
commit 5c8df74f18

View file

@ -250,6 +250,38 @@ def test_sae_mixed(dev, apdev):
dev[i].connect("test-sae", psk="12345678", key_mgmt="SAE",
scan_freq="2412")
def test_sae_mixed_mfp(dev, apdev):
"""Mixed SAE and non-SAE network and MFP required with SAE"""
if "SAE" not in dev[0].get_capability("auth_alg"):
raise HwsimSkip("SAE not supported")
params = hostapd.wpa2_params(ssid="test-sae", passphrase="12345678")
params['wpa_key_mgmt'] = 'SAE WPA-PSK'
params["ieee80211w"] = "1"
params['sae_require_mfp'] = '1'
hostapd.add_ap(apdev[0], params)
dev[0].request("SET sae_groups ")
dev[0].connect("test-sae", psk="12345678", key_mgmt="SAE", ieee80211w="2",
scan_freq="2412")
dev[0].dump_monitor()
dev[1].request("SET sae_groups ")
dev[1].connect("test-sae", psk="12345678", key_mgmt="SAE", ieee80211w="0",
scan_freq="2412", wait_connect=False)
ev = dev[1].wait_event(["CTRL-EVENT-CONNECTED",
"CTRL-EVENT-ASSOC-REJECT"], timeout=10)
if ev is None:
raise Exception("No connection result reported")
if "CTRL-EVENT-ASSOC-REJECT" not in ev:
raise Exception("SAE connection without MFP was not rejected")
if "status_code=31" not in ev:
raise Exception("Unexpected status code in rejection: " + ev)
dev[1].request("DISCONNECT")
dev[1].dump_monitor()
dev[2].connect("test-sae", psk="12345678", ieee80211w="0", scan_freq="2412")
dev[2].dump_monitor()
@remote_compatible
def test_sae_missing_password(dev, apdev):
"""SAE and missing password"""