mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-26 01:02:35 +01:00
autotests: Add an EAP-TTLS+MsCHAPV2 test
This also tests multiple agent requests for one network connection because the TTLS client private key is not in the config file and the MSCHAPV2 password is not in the config file.
This commit is contained in:
parent
25a9d2a71f
commit
baf965ed76
4
autotests/misc/certs/eap-user-ttls-mschapv2.text
Normal file
4
autotests/misc/certs/eap-user-ttls-mschapv2.text
Normal file
@ -0,0 +1,4 @@
|
||||
# Phase 1 users
|
||||
* TTLS
|
||||
# Phase 2
|
||||
"user" MSCHAPV2 "testpasswd" [2]
|
68
autotests/testEAP-TTLS-MSCHAPV2/connection_test.py
Normal file
68
autotests/testEAP-TTLS-MSCHAPV2/connection_test.py
Normal file
@ -0,0 +1,68 @@
|
||||
#! /usr/bin/python3
|
||||
|
||||
import unittest
|
||||
import sys
|
||||
|
||||
sys.path.append('../util')
|
||||
import iwd
|
||||
from iwd import IWD
|
||||
from iwd import PSKAgent
|
||||
from iwd import NetworkType
|
||||
import testutil
|
||||
|
||||
class Test(unittest.TestCase):
|
||||
|
||||
def test_connection_success(self):
|
||||
wd = IWD()
|
||||
|
||||
psk_agent = PSKAgent('abc', ('user', 'testpasswd'))
|
||||
wd.register_psk_agent(psk_agent)
|
||||
|
||||
devices = wd.list_devices();
|
||||
self.assertIsNotNone(devices)
|
||||
device = devices[0]
|
||||
|
||||
condition = 'not obj.scanning'
|
||||
wd.wait_for_object_condition(device, condition)
|
||||
|
||||
if not device.get_ordered_networks():
|
||||
device.scan()
|
||||
condition = 'obj.scanning'
|
||||
wd.wait_for_object_condition(device, condition)
|
||||
condition = 'not obj.scanning'
|
||||
wd.wait_for_object_condition(device, condition)
|
||||
|
||||
ordered_networks = device.get_ordered_networks()
|
||||
ordered_network = ordered_networks[0]
|
||||
|
||||
self.assertEqual(ordered_network.name, "ssidEAP-TTLS")
|
||||
self.assertEqual(ordered_network.type, NetworkType.eap)
|
||||
|
||||
condition = 'not obj.connected'
|
||||
wd.wait_for_object_condition(ordered_network.network_object, condition)
|
||||
|
||||
ordered_network.network_object.connect()
|
||||
|
||||
condition = 'obj.connected'
|
||||
wd.wait_for_object_condition(ordered_network.network_object, condition)
|
||||
|
||||
testutil.test_iface_operstate()
|
||||
testutil.test_ifaces_connected()
|
||||
|
||||
device.disconnect()
|
||||
|
||||
condition = 'not obj.connected'
|
||||
wd.wait_for_object_condition(ordered_network.network_object, condition)
|
||||
|
||||
wd.unregister_psk_agent(psk_agent)
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
IWD.copy_to_storage('ssidEAP-TTLS.8021x')
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
IWD.clear_storage()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(exit=True)
|
6
autotests/testEAP-TTLS-MSCHAPV2/hw.conf
Normal file
6
autotests/testEAP-TTLS-MSCHAPV2/hw.conf
Normal file
@ -0,0 +1,6 @@
|
||||
[SETUP]
|
||||
num_radios=2
|
||||
tmpfs_extra_stuff=../misc/certs
|
||||
|
||||
[HOSTAPD]
|
||||
rad0=ssidEAP-TTLS.conf
|
8
autotests/testEAP-TTLS-MSCHAPV2/ssidEAP-TTLS.8021x
Normal file
8
autotests/testEAP-TTLS-MSCHAPV2/ssidEAP-TTLS.8021x
Normal file
@ -0,0 +1,8 @@
|
||||
[Security]
|
||||
EAP-Method=TTLS
|
||||
EAP-Identity=abc@example.com
|
||||
EAP-TTLS-CACert=/tmp/certs/cert-ca.pem
|
||||
EAP-TTLS-ClientCert=/tmp/certs/cert-client.pem
|
||||
EAP-TTLS-ClientKey=/tmp/certs/cert-client-key-v2-des-ede3.pem
|
||||
EAP-TTLS-Phase2-Method=MSCHAPV2
|
||||
EAP-TTLS-Phase2-Identity=user
|
12
autotests/testEAP-TTLS-MSCHAPV2/ssidEAP-TTLS.conf
Normal file
12
autotests/testEAP-TTLS-MSCHAPV2/ssidEAP-TTLS.conf
Normal file
@ -0,0 +1,12 @@
|
||||
hw_mode=g
|
||||
channel=1
|
||||
ssid=ssidEAP-TTLS
|
||||
|
||||
wpa=3
|
||||
wpa_key_mgmt=WPA-EAP
|
||||
ieee8021x=1
|
||||
eap_server=1
|
||||
eap_user_file=/tmp/certs/eap-user-ttls-mschapv2.text
|
||||
ca_cert=/tmp/certs/cert-ca.pem
|
||||
server_cert=/tmp/certs/cert-server.pem
|
||||
private_key=/tmp/certs/cert-server-key.pem
|
Loading…
Reference in New Issue
Block a user