1 # -*- coding: utf-8 -*-
3 # Copyright (c) 2014, Jouni Malinen <j@w1.fi>
5 # This software may be distributed under the terms of the BSD license.
6 # See README for more details.
11 from utils import HwsimSkip
12 from test_ap_eap import int_eap_server_params, check_eap_capa
14 def test_tnc_peap_soh(dev, apdev):
16 params = int_eap_server_params()
18 hostapd.add_ap(apdev[0]['ifname'], params)
20 dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
21 eap="PEAP", identity="user", password="password",
22 ca_cert="auth_serv/ca.pem",
23 phase1="peapver=0 tnc=soh cryptobinding=0",
24 phase2="auth=MSCHAPV2",
26 dev[0].wait_connected(timeout=10)
28 dev[1].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
29 eap="PEAP", identity="user", password="password",
30 ca_cert="auth_serv/ca.pem",
31 phase1="peapver=0 tnc=soh1 cryptobinding=1",
32 phase2="auth=MSCHAPV2",
34 dev[1].wait_connected(timeout=10)
36 dev[2].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
37 eap="PEAP", identity="user", password="password",
38 ca_cert="auth_serv/ca.pem",
39 phase1="peapver=0 tnc=soh2 cryptobinding=2",
40 phase2="auth=MSCHAPV2",
42 dev[2].wait_connected(timeout=10)
44 def test_tnc_ttls(dev, apdev):
46 params = int_eap_server_params()
48 hostapd.add_ap(apdev[0]['ifname'], params)
50 if not os.path.exists("tnc/libhostap_imc.so"):
51 raise HwsimSkip("No IMC installed")
53 dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
54 eap="TTLS", identity="DOMAIN\mschapv2 user",
55 anonymous_identity="ttls", password="password",
56 phase2="auth=MSCHAPV2",
57 ca_cert="auth_serv/ca.pem",
59 dev[0].wait_connected(timeout=10)
61 def test_tnc_ttls_fragmentation(dev, apdev):
62 """TNC TTLS with fragmentation"""
63 params = int_eap_server_params()
65 params["fragment_size"] = "150"
66 hostapd.add_ap(apdev[0]['ifname'], params)
68 if not os.path.exists("tnc/libhostap_imc.so"):
69 raise HwsimSkip("No IMC installed")
71 dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
72 eap="TTLS", identity="DOMAIN\mschapv2 user",
73 anonymous_identity="ttls", password="password",
74 phase2="auth=MSCHAPV2",
75 ca_cert="auth_serv/ca.pem",
78 dev[0].wait_connected(timeout=10)
80 def test_tnc_fast(dev, apdev):
82 check_eap_capa(dev[0], "FAST")
83 params = int_eap_server_params()
85 params["pac_opaque_encr_key"] ="000102030405060708090a0b0c0d0e00"
86 params["eap_fast_a_id"] = "101112131415161718191a1b1c1d1e00"
87 params["eap_fast_a_id_info"] = "test server2"
89 hostapd.add_ap(apdev[0]['ifname'], params)
91 if not os.path.exists("tnc/libhostap_imc.so"):
92 raise HwsimSkip("No IMC installed")
94 dev[0].connect("test-wpa2-eap", key_mgmt="WPA-EAP",
95 eap="FAST", identity="user",
96 anonymous_identity="FAST", password="password",
98 phase1="fast_provisioning=2",
99 pac_file="blob://fast_pac_auth_tnc",
100 ca_cert="auth_serv/ca.pem",
102 dev[0].wait_connected(timeout=10)