1*39beb93cSSam LefflerAutomatic regression and interoperability testing of wpa_supplicant's 2*39beb93cSSam LefflerIEEE 802.1X/EAPOL authentication 3*39beb93cSSam Leffler 4*39beb93cSSam LefflerTest program: 5*39beb93cSSam Leffler- Linked some parts of IEEE 802.1X Authenticator implementation from 6*39beb93cSSam Leffler hostapd (RADIUS client and RADIUS processing, EAP<->RADIUS 7*39beb93cSSam Leffler encapsulation/decapsulation) into wpa_supplicant. 8*39beb93cSSam Leffler- Replaced wpa_supplicant.c and wpa.c with test code that trigger 9*39beb93cSSam Leffler IEEE 802.1X authentication automatically without need for wireless 10*39beb93cSSam Leffler client card or AP. 11*39beb93cSSam Leffler- For EAP methods that generate keying material, the key derived by the 12*39beb93cSSam Leffler Supplicant is verified to match with the one received by the (now 13*39beb93cSSam Leffler integrated) Authenticator. 14*39beb93cSSam Leffler 15*39beb93cSSam LefflerThe full automated test suite can now be run in couple of seconds, but 16*39beb93cSSam LefflerI'm more than willing to add new RADIUS authentication servers to make 17*39beb93cSSam Lefflerthis take a bit more time.. ;-) As an extra bonus, this can also be 18*39beb93cSSam Lefflerseen as automatic regression/interoperability testing for the RADIUS 19*39beb93cSSam Lefflerserver, too. 20*39beb93cSSam Leffler 21*39beb93cSSam LefflerIn order for me to be able to use a new authentication server, the 22*39beb93cSSam Lefflerserver need to be available from Internet (at least from one static IP 23*39beb93cSSam Leffleraddress) and I will need to get suitable user name/password pairs, 24*39beb93cSSam Lefflercertificates, and private keys for testing use. Other alternative 25*39beb93cSSam Lefflerwould be to get an evaluation version of the server so that I can 26*39beb93cSSam Lefflerinstall it on my own test setup. If you are interested in providing 27*39beb93cSSam Lefflereither server access or evaluation version, please contact me 28*39beb93cSSam Leffler(j@w1.fi). 29*39beb93cSSam Leffler 30*39beb93cSSam Leffler 31*39beb93cSSam LefflerTest matrix 32*39beb93cSSam Leffler 33*39beb93cSSam Leffler+) tested successfully 34*39beb93cSSam LefflerF) failed 35*39beb93cSSam Leffler-) server did not support 36*39beb93cSSam Leffler?) not tested 37*39beb93cSSam Leffler 38*39beb93cSSam LefflerCisco ACS ----------------------------------------------------------. 39*39beb93cSSam Lefflerhostapd --------------------------------------------------------. | 40*39beb93cSSam LefflerCisco Aironet 1200 AP (local RADIUS server) ----------------. | | 41*39beb93cSSam LefflerPeriodik Labs Elektron ---------------------------------. | | | 42*39beb93cSSam LefflerLucent NavisRadius ---------------------------------. | | | | 43*39beb93cSSam LefflerInterlink RAD-Series ---------------------------. | | | | | 44*39beb93cSSam LefflerRadiator -----------------------------------. | | | | | | 45*39beb93cSSam LefflerMeetinghouse Aegis ---------------------. | | | | | | | 46*39beb93cSSam LefflerFunk Steel-Belted ------------------. | | | | | | | | 47*39beb93cSSam LefflerFunk Odyssey -------------------. | | | | | | | | | 48*39beb93cSSam LefflerMicrosoft IAS --------------. | | | | | | | | | | 49*39beb93cSSam LefflerFreeRADIUS -------------. | | | | | | | | | | | 50*39beb93cSSam Leffler | | | | | | | | | | | | 51*39beb93cSSam Leffler 52*39beb93cSSam LefflerEAP-MD5 + - - + + + + + - - + + 53*39beb93cSSam LefflerEAP-GTC + - - ? + + + + - - + - 54*39beb93cSSam LefflerEAP-OTP - - - - - + - - - - - - 55*39beb93cSSam LefflerEAP-MSCHAPv2 + - - + + + + + - - + - 56*39beb93cSSam LefflerEAP-TLS + + + + + + + + - - + + 57*39beb93cSSam LefflerEAP-PEAPv0/MSCHAPv2 + + + + + + + + + - + + 58*39beb93cSSam LefflerEAP-PEAPv0/GTC + - + - + + + + - - + + 59*39beb93cSSam LefflerEAP-PEAPv0/OTP - - - - - + - - - - - - 60*39beb93cSSam LefflerEAP-PEAPv0/MD5 + - - + + + + + - - + - 61*39beb93cSSam LefflerEAP-PEAPv0/TLS + + - + + + F + - - + + 62*39beb93cSSam LefflerEAP-PEAPv0/SIM - - - - - - - - - - + - 63*39beb93cSSam LefflerEAP-PEAPv0/AKA - - - - - - - - - - + - 64*39beb93cSSam LefflerEAP-PEAPv0/PSK - - - - - - - - - - + - 65*39beb93cSSam LefflerEAP-PEAPv0/PAX - - - - - - - - - - + - 66*39beb93cSSam LefflerEAP-PEAPv0/SAKE - - - - - - - - - - + - 67*39beb93cSSam LefflerEAP-PEAPv0/GPSK - - - - - - - - - - + - 68*39beb93cSSam LefflerEAP-PEAPv1/MSCHAPv2 - - + + + +1 + +5 +8 - + + 69*39beb93cSSam LefflerEAP-PEAPv1/GTC - - + + + +1 + +5 +8 - + + 70*39beb93cSSam LefflerEAP-PEAPv1/OTP - - - - - +1 - - - - - - 71*39beb93cSSam LefflerEAP-PEAPv1/MD5 - - - + + +1 + +5 - - + - 72*39beb93cSSam LefflerEAP-PEAPv1/TLS - - - + + +1 F +5 - - + + 73*39beb93cSSam LefflerEAP-PEAPv1/SIM - - - - - - - - - - + - 74*39beb93cSSam LefflerEAP-PEAPv1/AKA - - - - - - - - - - + - 75*39beb93cSSam LefflerEAP-PEAPv1/PSK - - - - - - - - - - + - 76*39beb93cSSam LefflerEAP-PEAPv1/PAX - - - - - - - - - - + - 77*39beb93cSSam LefflerEAP-PEAPv1/SAKE - - - - - - - - - - + - 78*39beb93cSSam LefflerEAP-PEAPv1/GPSK - - - - - - - - - - + - 79*39beb93cSSam LefflerEAP-TTLS/CHAP + - +2 + + + + + + - + - 80*39beb93cSSam LefflerEAP-TTLS/MSCHAP + - + + + + + + + - + - 81*39beb93cSSam LefflerEAP-TTLS/MSCHAPv2 + - + + + + + + + - + - 82*39beb93cSSam LefflerEAP-TTLS/PAP + - + + + + + + + - + - 83*39beb93cSSam LefflerEAP-TTLS/EAP-MD5 + - +2 + + + + + + - + - 84*39beb93cSSam LefflerEAP-TTLS/EAP-GTC + - +2 ? + + + + - - + - 85*39beb93cSSam LefflerEAP-TTLS/EAP-OTP - - - - - + - - - - - - 86*39beb93cSSam LefflerEAP-TTLS/EAP-MSCHAPv2 + - +2 + + + + + + - + - 87*39beb93cSSam LefflerEAP-TTLS/EAP-TLS + - +2 + F + + + - - + - 88*39beb93cSSam LefflerEAP-TTLS/EAP-SIM - - - - - - - - - - + - 89*39beb93cSSam LefflerEAP-TTLS/EAP-AKA - - - - - - - - - - + - 90*39beb93cSSam LefflerEAP-TTLS/EAP-PSK - - - - - - - - - - + - 91*39beb93cSSam LefflerEAP-TTLS/EAP-PAX - - - - - - - - - - + - 92*39beb93cSSam LefflerEAP-TTLS/EAP-SAKE - - - - - - - - - - + - 93*39beb93cSSam LefflerEAP-TTLS/EAP-GPSK - - - - - - - - - - + - 94*39beb93cSSam LefflerEAP-TTLS + TNC - - - - - + - - - - + - 95*39beb93cSSam LefflerEAP-SIM + - - ? - + - ? - - + - 96*39beb93cSSam LefflerEAP-AKA - - - - - + - - - - + - 97*39beb93cSSam LefflerEAP-AKA' - - - - - - - - - - + - 98*39beb93cSSam LefflerEAP-PSK +7 - - - - + - - - - + - 99*39beb93cSSam LefflerEAP-PAX - - - - - + - - - - + - 100*39beb93cSSam LefflerEAP-SAKE - - - - - - - - - - + - 101*39beb93cSSam LefflerEAP-GPSK - - - - - - - - - - + - 102*39beb93cSSam LefflerEAP-FAST/MSCHAPv2(prov) - - - + - + - - - + + + 103*39beb93cSSam LefflerEAP-FAST/GTC(auth) - - - + - + - - - + + + 104*39beb93cSSam LefflerEAP-FAST/MSCHAPv2(aprov)- - - - - + - - - - + + 105*39beb93cSSam LefflerEAP-FAST/GTC(aprov) - - - - - + - - - - + + 106*39beb93cSSam LefflerEAP-FAST/MD5(aprov) - - - - - + - - - - + - 107*39beb93cSSam LefflerEAP-FAST/TLS(aprov) - - - - - - - - - - + + 108*39beb93cSSam LefflerEAP-FAST/SIM(aprov) - - - - - - - - - - + - 109*39beb93cSSam LefflerEAP-FAST/AKA(aprov) - - - - - - - - - - + - 110*39beb93cSSam LefflerEAP-FAST/MSCHAPv2(auth) - - - - - + - - - - + + 111*39beb93cSSam LefflerEAP-FAST/MD5(auth) - - - - - + - - - - + - 112*39beb93cSSam LefflerEAP-FAST/TLS(auth) - - - - - - - - - - + + 113*39beb93cSSam LefflerEAP-FAST/SIM(auth) - - - - - - - - - - + - 114*39beb93cSSam LefflerEAP-FAST/AKA(auth) - - - - - - - - - - + - 115*39beb93cSSam LefflerEAP-FAST + TNC - - - - - - - - - - + - 116*39beb93cSSam LefflerLEAP + - + + + + F +6 - + - + 117*39beb93cSSam LefflerEAP-TNC +9 - - - - + - - - - + - 118*39beb93cSSam LefflerEAP-IKEv2 +10 - - - - - - - - - + - 119*39beb93cSSam Leffler 120*39beb93cSSam Leffler1) PEAPv1 required new label, "client PEAP encryption" instead of "client EAP 121*39beb93cSSam Leffler encryption", during key derivation (requires phase1="peaplabel=1" in the 122*39beb93cSSam Leffler network configuration in wpa_supplicant.conf) 123*39beb93cSSam Leffler2) used FreeRADIUS as inner auth server 124*39beb93cSSam Leffler5) PEAPv1 required termination of negotiation on tunneled EAP-Success and new 125*39beb93cSSam Leffler label in key deriviation 126*39beb93cSSam Leffler (phase1="peap_outer_success=0 peaplabel=1") (in "IETF Draft 5" mode) 127*39beb93cSSam Leffler6) Authenticator simulator required patching for handling Access-Accept within 128*39beb93cSSam Leffler negotiation (for the first EAP-Success of LEAP) 129*39beb93cSSam Leffler7) tested only with an older (incompatible) draft of EAP-PSK; FreeRADIUS does 130*39beb93cSSam Leffler not support the current EAP-PSK (RFC) specification 131*39beb93cSSam Leffler8) PEAPv1 used non-standard version negotiation (client had to force v1 even 132*39beb93cSSam Leffler though server reported v0 as the highest supported version) 133*39beb93cSSam Leffler9) only EAP-TTLS/EAP-TNC tested, i.e., test did not include proper sequence of 134*39beb93cSSam Leffler client authentication followed by TNC inside the tunnel 135*39beb93cSSam Leffler10) worked only with special compatibility code to match the IKEv2 server 136*39beb93cSSam Leffler implementation 137*39beb93cSSam Leffler 138*39beb93cSSam Leffler 139*39beb93cSSam LefflerAutomated tests: 140*39beb93cSSam Leffler 141*39beb93cSSam LefflerFreeRADIUS (2.0-beta/CVS snapshot) 142*39beb93cSSam Leffler- EAP-MD5-Challenge 143*39beb93cSSam Leffler- EAP-GTC 144*39beb93cSSam Leffler- EAP-MSCHAPv2 145*39beb93cSSam Leffler- EAP-TLS 146*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 147*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 148*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 149*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 150*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 151*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 152*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 153*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS 154*39beb93cSSam Leffler- EAP-TTLS / CHAP 155*39beb93cSSam Leffler- EAP-TTLS / PAP 156*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 157*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 158*39beb93cSSam Leffler- EAP-TTLS / EAP-TNC (partial support; no authentication sequence) 159*39beb93cSSam Leffler- EAP-SIM 160*39beb93cSSam Leffler- LEAP 161*39beb93cSSam Leffler 162*39beb93cSSam LefflerMicrosoft Windows Server 2003 / IAS 163*39beb93cSSam Leffler- EAP-TLS 164*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 165*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 166*39beb93cSSam Leffler- EAP-MD5 167*39beb93cSSam Leffler* IAS does not seem to support other EAP methods 168*39beb93cSSam Leffler 169*39beb93cSSam LefflerFunk Odyssey 2.01.00.653 170*39beb93cSSam Leffler- EAP-TLS 171*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 172*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 173*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 174*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 175*39beb93cSSam Leffler Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption" 176*39beb93cSSam Leffler- EAP-TTLS / CHAP (using FreeRADIUS as inner auth srv) 177*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 178*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 179*39beb93cSSam Leffler- EAP-TTLS / PAP 180*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge (using FreeRADIUS as inner auth srv) 181*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC (using FreeRADIUS as inner auth srv) 182*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 (using FreeRADIUS as inner auth srv) 183*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS (using FreeRADIUS as inner auth srv) 184*39beb93cSSam Leffler* not supported in Odyssey: 185*39beb93cSSam Leffler - EAP-MD5-Challenge 186*39beb93cSSam Leffler - EAP-GTC 187*39beb93cSSam Leffler - EAP-MSCHAPv2 188*39beb93cSSam Leffler - EAP-PEAP / MD5-Challenge 189*39beb93cSSam Leffler - EAP-PEAP / TLS 190*39beb93cSSam Leffler 191*39beb93cSSam LefflerFunk Steel-Belted Radius Enterprise Edition v4.71.739 192*39beb93cSSam Leffler- EAP-MD5-Challenge 193*39beb93cSSam Leffler- EAP-MSCHAPv2 194*39beb93cSSam Leffler- EAP-TLS 195*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 196*39beb93cSSam Leffler- EAP-PEAPv0 / MD5 197*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 198*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 199*39beb93cSSam Leffler- EAP-PEAPv1 / MD5 200*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 201*39beb93cSSam Leffler- EAP-PEAPv1 / TLS 202*39beb93cSSam Leffler Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption" 203*39beb93cSSam Leffler- EAP-TTLS / CHAP 204*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 205*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 206*39beb93cSSam Leffler- EAP-TTLS / PAP 207*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 208*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 209*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS 210*39beb93cSSam Leffler 211*39beb93cSSam LefflerMeetinghouse Aegis 1.1.4 212*39beb93cSSam Leffler- EAP-MD5-Challenge 213*39beb93cSSam Leffler- EAP-GTC 214*39beb93cSSam Leffler- EAP-MSCHAPv2 215*39beb93cSSam Leffler- EAP-TLS 216*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 217*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 218*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 219*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 220*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 221*39beb93cSSam Leffler- EAP-PEAPv1 / TLS 222*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 223*39beb93cSSam Leffler- EAP-PEAPv1 / MD5-Challenge 224*39beb93cSSam Leffler Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption" 225*39beb93cSSam Leffler- EAP-TTLS / CHAP 226*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 227*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 228*39beb93cSSam Leffler- EAP-TTLS / PAP 229*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 230*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 231*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 232*39beb93cSSam Leffler* did not work 233*39beb93cSSam Leffler - EAP-TTLS / EAP-TLS 234*39beb93cSSam Leffler (Server rejects authentication without any reason in debug log. It 235*39beb93cSSam Leffler looks like the inner TLS negotiation starts properly and the last 236*39beb93cSSam Leffler packet from Supplicant looks like the one sent in the Phase 1. The 237*39beb93cSSam Leffler server generates a valid looking reply in the same way as in Phase 238*39beb93cSSam Leffler 1, but then ends up sending Access-Reject. Maybe an issue with TTLS 239*39beb93cSSam Leffler fragmentation in the Aegis server(?) The packet seems to include 240*39beb93cSSam Leffler 1328 bytes of EAP-Message and this may go beyond the fragmentation 241*39beb93cSSam Leffler limit with AVP encapsulation and TLS tunneling. Note: EAP-PEAP/TLS 242*39beb93cSSam Leffler did work, so this issue seems to be with something TTLS specific.) 243*39beb93cSSam Leffler 244*39beb93cSSam LefflerRadiator 3.17.1 (eval, with all patches up to and including 2007-05-25) 245*39beb93cSSam Leffler- EAP-MD5-Challenge 246*39beb93cSSam Leffler- EAP-GTC 247*39beb93cSSam Leffler- EAP-OTP 248*39beb93cSSam Leffler- EAP-MSCHAPv2 249*39beb93cSSam Leffler- EAP-TLS 250*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 251*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 252*39beb93cSSam Leffler- EAP-PEAPv0 / OTP 253*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 254*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 255*39beb93cSSam Leffler Note: Needed to use unknown identity in outer auth and some times the server 256*39beb93cSSam Leffler seems to get confused and fails to send proper Phase 2 data. 257*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 258*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 259*39beb93cSSam Leffler- EAP-PEAPv1 / OTP 260*39beb93cSSam Leffler- EAP-PEAPv1 / MD5-Challenge 261*39beb93cSSam Leffler- EAP-PEAPv1 / TLS 262*39beb93cSSam Leffler Note: This has some additional requirements for EAPTLS_MaxFragmentSize. 263*39beb93cSSam Leffler Using 1300 for outer auth and 500 for inner auth seemed to work. 264*39beb93cSSam Leffler Note: Needed to use unknown identity in outer auth and some times the server 265*39beb93cSSam Leffler seems to get confused and fails to send proper Phase 2 data. 266*39beb93cSSam Leffler- EAP-TTLS / CHAP 267*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 268*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 269*39beb93cSSam Leffler- EAP-TTLS / PAP 270*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 271*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 272*39beb93cSSam Leffler- EAP-TTLS / EAP-OTP 273*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 274*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS 275*39beb93cSSam Leffler Note: This has some additional requirements for EAPTLS_MaxFragmentSize. 276*39beb93cSSam Leffler Using 1300 for outer auth and 500 for inner auth seemed to work. 277*39beb93cSSam Leffler- EAP-SIM 278*39beb93cSSam Leffler- EAP-AKA 279*39beb93cSSam Leffler- EAP-PSK 280*39beb93cSSam Leffler- EAP-PAX 281*39beb93cSSam Leffler- EAP-TNC 282*39beb93cSSam Leffler 283*39beb93cSSam LefflerInterlink Networks RAD-Series 6.1.2.7 284*39beb93cSSam Leffler- EAP-MD5-Challenge 285*39beb93cSSam Leffler- EAP-GTC 286*39beb93cSSam Leffler- EAP-MSCHAPv2 287*39beb93cSSam Leffler- EAP-TLS 288*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 289*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 290*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 291*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 292*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 293*39beb93cSSam Leffler- EAP-PEAPv1 / MD5-Challenge 294*39beb93cSSam Leffler Note: PEAPv1 requires TLS key derivation to use label "client EAP encryption" 295*39beb93cSSam Leffler- EAP-TTLS / CHAP 296*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 297*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 298*39beb93cSSam Leffler- EAP-TTLS / PAP 299*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 300*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 301*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 302*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS 303*39beb93cSSam Leffler* did not work 304*39beb93cSSam Leffler - EAP-PEAPv0 / TLS 305*39beb93cSSam Leffler - EAP-PEAPv1 / TLS 306*39beb93cSSam Leffler (Failed to decrypt Phase 2 data) 307*39beb93cSSam Leffler 308*39beb93cSSam LefflerLucent NavisRadius 4.4.0 309*39beb93cSSam Leffler- EAP-MD5-Challenge 310*39beb93cSSam Leffler- EAP-GTC 311*39beb93cSSam Leffler- EAP-MSCHAPv2 312*39beb93cSSam Leffler- EAP-TLS 313*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 314*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 315*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 316*39beb93cSSam Leffler- EAP-PEAPv0 / TLS 317*39beb93cSSam Leffler- EAP-PEAPv1 / MD5-Challenge 318*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 319*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 320*39beb93cSSam Leffler- EAP-PEAPv1 / TLS 321*39beb93cSSam Leffler "IETF Draft 5" mode requires phase1="peap_outer_success=0 peaplabel=1" 322*39beb93cSSam Leffler 'Cisco ACU 5.05' mode works without phase1 configuration 323*39beb93cSSam Leffler- EAP-TTLS / CHAP 324*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 325*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 326*39beb93cSSam Leffler- EAP-TTLS / PAP 327*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 328*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 329*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 330*39beb93cSSam Leffler- EAP-TTLS / EAP-TLS 331*39beb93cSSam Leffler 332*39beb93cSSam LefflerNote: user certificate from NavisRadius had private key in a format 333*39beb93cSSam Lefflerthat wpa_supplicant could not use. Converting this to PKCS#12 and then 334*39beb93cSSam Lefflerback to PEM allowed wpa_supplicant to use the key. 335*39beb93cSSam Leffler 336*39beb93cSSam Leffler 337*39beb93cSSam Lefflerhostapd v0.3.3 338*39beb93cSSam Leffler- EAP-MD5-Challenge 339*39beb93cSSam Leffler- EAP-GTC 340*39beb93cSSam Leffler- EAP-MSCHAPv2 341*39beb93cSSam Leffler- EAP-TLS 342*39beb93cSSam Leffler- EAP-PEAPv0 / MSCHAPv2 343*39beb93cSSam Leffler- EAP-PEAPv0 / GTC 344*39beb93cSSam Leffler- EAP-PEAPv0 / MD5-Challenge 345*39beb93cSSam Leffler- EAP-PEAPv1 / MSCHAPv2 346*39beb93cSSam Leffler- EAP-PEAPv1 / GTC 347*39beb93cSSam Leffler- EAP-PEAPv1 / MD5-Challenge 348*39beb93cSSam Leffler- EAP-TTLS / CHAP 349*39beb93cSSam Leffler- EAP-TTLS / MSCHAP 350*39beb93cSSam Leffler- EAP-TTLS / MSCHAPv2 351*39beb93cSSam Leffler- EAP-TTLS / PAP 352*39beb93cSSam Leffler- EAP-TTLS / EAP-MD5-Challenge 353*39beb93cSSam Leffler- EAP-TTLS / EAP-GTC 354*39beb93cSSam Leffler- EAP-TTLS / EAP-MSCHAPv2 355*39beb93cSSam Leffler- EAP-SIM 356*39beb93cSSam Leffler- EAP-PAX 357*39beb93cSSam Leffler 358*39beb93cSSam LefflerPEAPv1: 359*39beb93cSSam Leffler 360*39beb93cSSam LefflerFunk Odyssey 2.01.00.653: 361*39beb93cSSam Leffler- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE 362*39beb93cSSam Leffler keys with outer EAP-Success message after this 363*39beb93cSSam Leffler- uses label "client EAP encryption" 364*39beb93cSSam Leffler- (peap_outer_success 1 and 2 work) 365*39beb93cSSam Leffler 366*39beb93cSSam LefflerFunk Steel-Belted Radius Enterprise Edition v4.71.739 367*39beb93cSSam Leffler- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE 368*39beb93cSSam Leffler keys with outer EAP-Success message after this 369*39beb93cSSam Leffler- uses label "client EAP encryption" 370*39beb93cSSam Leffler- (peap_outer_success 1 and 2 work) 371*39beb93cSSam Leffler 372*39beb93cSSam LefflerRadiator 3.9: 373*39beb93cSSam Leffler- uses TLV Success and Reply, sends MPPE keys with outer EAP-Success message 374*39beb93cSSam Leffler after this 375*39beb93cSSam Leffler- uses label "client PEAP encryption" 376*39beb93cSSam Leffler 377*39beb93cSSam LefflerLucent NavisRadius 4.4.0 (in "IETF Draft 5" mode): 378*39beb93cSSam Leffler- sends tunneled EAP-Success with MPPE keys and expects the authentication to 379*39beb93cSSam Leffler terminate at this point (gets somewhat confused with reply to this) 380*39beb93cSSam Leffler- uses label "client PEAP encryption" 381*39beb93cSSam Leffler- phase1="peap_outer_success=0 peaplabel=1" 382*39beb93cSSam Leffler 383*39beb93cSSam LefflerLucent NavisRadius 4.4.0 (in "Cisco ACU 5.05" mode): 384*39beb93cSSam Leffler- sends tunneled EAP-Success with MPPE keys and expects to receive TLS ACK 385*39beb93cSSam Leffler as a reply 386*39beb93cSSam Leffler- uses label "client EAP encryption" 387*39beb93cSSam Leffler 388*39beb93cSSam LefflerMeetinghouse Aegis 1.1.4 389*39beb93cSSam Leffler- uses tunneled EAP-Success, expects reply in tunnel or TLS ACK, sends MPPE 390*39beb93cSSam Leffler keys with outer EAP-Success message after this 391*39beb93cSSam Leffler- uses label "client EAP encryption" 392*39beb93cSSam Leffler- peap_outer_success 1 and 2 work 393