|
@@ -234,3 +234,59 @@ def test_ap_wpa2_psk_wildcard_ssid(dev, apdev):
|
|
|
dev[0].connect("", bssid=apdev[0]['bssid'], psk=passphrase,
|
|
|
scan_freq="2412")
|
|
|
dev[1].connect("", bssid=apdev[0]['bssid'], raw_psk=psk, scan_freq="2412")
|
|
|
+
|
|
|
+def test_ap_wpa2_gtk_rekey(dev, apdev):
|
|
|
+ """WPA2-PSK AP and GTK rekey enforced by AP"""
|
|
|
+ ssid = "test-wpa2-psk"
|
|
|
+ passphrase = 'qwertyuiop'
|
|
|
+ params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase)
|
|
|
+ params['wpa_group_rekey'] = '1'
|
|
|
+ hostapd.add_ap(apdev[0]['ifname'], params)
|
|
|
+ dev[0].connect(ssid, psk=passphrase, scan_freq="2412")
|
|
|
+ ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2)
|
|
|
+ if ev is None:
|
|
|
+ raise Exception("GTK rekey timed out")
|
|
|
+ hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname'])
|
|
|
+
|
|
|
+def test_ap_wpa_gtk_rekey(dev, apdev):
|
|
|
+ """WPA-PSK/TKIP AP and GTK rekey enforced by AP"""
|
|
|
+ ssid = "test-wpa-psk"
|
|
|
+ passphrase = 'qwertyuiop'
|
|
|
+ params = hostapd.wpa_params(ssid=ssid, passphrase=passphrase)
|
|
|
+ params['wpa_group_rekey'] = '1'
|
|
|
+ hostapd.add_ap(apdev[0]['ifname'], params)
|
|
|
+ dev[0].connect(ssid, psk=passphrase, scan_freq="2412")
|
|
|
+ ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2)
|
|
|
+ if ev is None:
|
|
|
+ raise Exception("GTK rekey timed out")
|
|
|
+ hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname'])
|
|
|
+
|
|
|
+def test_ap_wpa2_gmk_rekey(dev, apdev):
|
|
|
+ """WPA2-PSK AP and GMK and GTK rekey enforced by AP"""
|
|
|
+ ssid = "test-wpa2-psk"
|
|
|
+ passphrase = 'qwertyuiop'
|
|
|
+ params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase)
|
|
|
+ params['wpa_group_rekey'] = '1'
|
|
|
+ params['wpa_gmk_rekey'] = '2'
|
|
|
+ hostapd.add_ap(apdev[0]['ifname'], params)
|
|
|
+ dev[0].connect(ssid, psk=passphrase, scan_freq="2412")
|
|
|
+ for i in range(0, 3):
|
|
|
+ ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2)
|
|
|
+ if ev is None:
|
|
|
+ raise Exception("GTK rekey timed out")
|
|
|
+ hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname'])
|
|
|
+
|
|
|
+def test_ap_wpa2_strict_rekey(dev, apdev):
|
|
|
+ """WPA2-PSK AP and strict GTK rekey enforced by AP"""
|
|
|
+ ssid = "test-wpa2-psk"
|
|
|
+ passphrase = 'qwertyuiop'
|
|
|
+ params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase)
|
|
|
+ params['wpa_strict_rekey'] = '1'
|
|
|
+ hostapd.add_ap(apdev[0]['ifname'], params)
|
|
|
+ dev[0].connect(ssid, psk=passphrase, scan_freq="2412")
|
|
|
+ dev[1].connect(ssid, psk=passphrase, scan_freq="2412")
|
|
|
+ dev[1].request("DISCONNECT")
|
|
|
+ ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2)
|
|
|
+ if ev is None:
|
|
|
+ raise Exception("GTK rekey timed out")
|
|
|
+ hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname'])
|