]> git.ipfire.org Git - thirdparty/hostap.git/blame - eap_example/README
eap_example: Update expired certificates
[thirdparty/hostap.git] / eap_example / README
CommitLineData
6fc6879b
JM
1EAP peer/server library and example program
2Copyright (c) 2007, Jouni Malinen <j@w1.fi>
3
0f3d578e
JM
4This software may be distributed under the terms of the BSD license.
5See the parent directory README for more details.
6fc6879b
JM
6
7
8The interfaces of the EAP server/peer implementation are based on RFC
94137 (EAP State Machines). This RFC is coordinated with the state
10machines defined in IEEE 802.1X-2004. hostapd and wpa_supplicant
11include implementation of the IEEE 802.1X EAPOL state machines and the
12interface between them and EAP. However, the EAP implementation can be
13used with other protocols, too, by providing a compatible interface
14which maps the EAPOL<->EAP variables to another protocol.
15
16This directory contains an example showing how EAP peer and server
17code from wpa_supplicant and hostapd can be used as a library. The
18example program initializes both an EAP server and an EAP peer
19entities and then runs through an EAP-PEAP/MSCHAPv2 authentication.
20
21eap_example_peer.c shows the initialization and glue code needed to
22control the EAP peer implementation. eap_example_server.c does the
23same for EAP server. eap_example.c is an example that ties in both the
24EAP server and client parts to allow an EAP authentication to be
25shown.
26
27In this example, the EAP messages are passed between the server and
28the peer are passed by direct function calls within the same process.
29In practice, server and peer functionalities would likely reside in
30separate devices and the EAP messages would be transmitted between the
31devices based on an external protocol. For example, in IEEE 802.11
32uses IEEE 802.1X EAPOL state machines to control the transmission of
33EAP messages and WiMax supports optional PMK EAP authentication
34mechanism that transmits EAP messages as defined in IEEE 802.16e.
35
36
37The EAP library links in number of helper functions from src/utils and
38src/crypto directories. Most of these are suitable as-is, but it may
39be desirable to replace the debug output code in src/utils/wpa_debug.c
40by dropping this file from the library and re-implementing the
41functions there in a way that better fits in with the main
42application.