tests: SAE protocol testing and a valid commit after a failed one
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
761041b18a
commit
7cf0021267
1 changed files with 36 additions and 0 deletions
|
@ -1254,6 +1254,42 @@ def test_sae_proto_hostapd_status_127(dev, apdev):
|
|||
check_commit_status(hapd, 127, 1)
|
||||
check_commit_status(hapd, 0, 0)
|
||||
|
||||
def test_sae_proto_hostapd_valid_commit_after_fail(dev, apdev):
|
||||
"""SAE protocol testing with hostapd and valid commit after failed one"""
|
||||
params = hostapd.wpa2_params(ssid="test-sae", passphrase="foofoofoo")
|
||||
params['wpa_key_mgmt'] = 'SAE'
|
||||
params['sae_groups'] = "19"
|
||||
hapd = hostapd.add_ap(apdev[0], params)
|
||||
hapd.set("ext_mgmt_frame_handling", "1")
|
||||
bssid = hapd.own_addr().replace(':', '')
|
||||
addr = "020000000000"
|
||||
addr2 = "020000000001"
|
||||
hdr = "b0003a01" + bssid + addr + bssid + "1000"
|
||||
hdr2 = "b0003a01" + bssid + addr2 + bssid + "1000"
|
||||
group = "1300"
|
||||
scalar = "f7df19f4a7fef1d3b895ea1de150b7c5a7a705c8ebb31a52b623e0057908bd93"
|
||||
element_x = "21931572027f2e953e2a49fab3d992944102cc95aa19515fc068b394fb25ae3c"
|
||||
element_y = "cb4eeb94d7b0b789abfdb73a67ab9d6d5efa94dd553e0e724a6289821cbce530"
|
||||
pw_id = "ff022130"
|
||||
|
||||
hapd.request("MGMT_RX_PROCESS freq=2412 datarate=0 ssi_signal=-30 frame=" + hdr + "030001000000" + group + scalar + element_x + element_y + pw_id)
|
||||
ev = hapd.wait_event(['MGMT-TX-STATUS'], timeout=1)
|
||||
buf = ev.split(' ')[3].split('=')[1]
|
||||
# Check for status = Unknown Password ID
|
||||
if buf[48:] != '0300' + '0100' + '7b00':
|
||||
raise Exception("Unexpected response to SAE commit with unknown password id: " + buf)
|
||||
|
||||
hapd.request("MGMT_RX_PROCESS freq=2412 datarate=0 ssi_signal=-30 frame=" + hdr + "030001000000" + group + scalar + element_x + element_y)
|
||||
|
||||
ev = hapd.wait_event(['MGMT-TX-STATUS'], timeout=1)
|
||||
if ev is None:
|
||||
raise Exception("No response to valid SAE commit")
|
||||
buf = ev.split(' ')[3].split('=')[1]
|
||||
# Check for status = Success
|
||||
payload = buf[48:]
|
||||
if payload[8:12] != '0000':
|
||||
raise Exception("Unexpected Status Code for valid SAE commit: " + buf)
|
||||
|
||||
@remote_compatible
|
||||
def test_sae_no_ffc_by_default(dev, apdev):
|
||||
"""SAE and default groups rejecting FFC"""
|
||||
|
|
Loading…
Reference in a new issue