diff --git a/www/Makefile b/www/Makefile deleted file mode 100644 index 68fdce264..000000000 --- a/www/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -all: versions.png - -%.png: %.fig - fig2dev -Lpng -s5.1 -S4 -m2 $< | \ - pngtopnm | \ - pnmscale -xscale 0.5 -yscale 0.5 | \ - pnmtopng > $@ - -%.fig: %.dot - dot $< -Tfig -o $@ - -clean: - rm versions.png versions.fig diff --git a/www/cvs.html b/www/cvs.html deleted file mode 100644 index d34d99591..000000000 --- a/www/cvs.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - Host AP / hostapd / wpa_supplicant - anonymous CVS/GIT access - - - - -

Host AP / hostapd / wpa_supplicant - anonymous CVS/GIT access

- -

-Project source code and related files are maintained in a version -control system. The first version up to and including 0.5.x were -maintained in a CVS repository. Starting from 0.6.x, repositories -moved to using GIT. In addition, Host AP driver is now maintained with -the rest of the Linux kernel tree (which is also using GIT). -

- -

GIT

- -

Using git protocol: git://w1.fi/srv/git/hostap.git

- -

Using HTTP (if git protocol is firewalled): http://w1.fi/hostap.git

- -

(e.g., to get a clone of the repository you can use git with -"git clone git://w1.fi/srv/git/hostap.git").

- -

WWW interface (gitweb) to the repository: -http://w1.fi/gitweb/gitweb.cgi

- -

- -

CVS

- -

-Anonymous read-only CVS access to the Host AP driver, hostapd, and -wpa_supplicant CVS repository is available using CVS pserver: -

- -

export CVSROOT=":pserver:anonymous@hostap.epitest.fi:/cvs"

- -

cvs login

- -

Password is empty, so just hit enter when prompted for a password.

- -

After you have logged in once, you can checkout the source:

- -

cvs checkout hostap

- -

-If you want to compress the stream to save bandwidth, you can add -z3 -option to the command (cvs -z3 checkout hostap). -

- -

-Also other CVS commands like update and log can -be used. -

- - -
-
-
Jouni Malinen
- - -Last modified: Sat Dec 12 16:43:03 EET 2009 - -
- - diff --git a/www/hostapd/index.html b/www/hostapd/index.html deleted file mode 100644 index 7dee6e0f6..000000000 --- a/www/hostapd/index.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator - - - - - - -

hostapd: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator

- -

hostapd is a user space daemon for access point and authentication -servers. It implements IEEE 802.11 access point management, IEEE -802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and -RADIUS authentication server. The current version supports Linux (Host -AP, madwifi, mac80211-based drivers) and FreeBSD (net80211).

- -

hostapd is designed to be a "daemon" program that runs in the -background and acts as the backend component controlling -authentication. hostapd supports separate frontend programs and an -example text-based frontend, hostapd_cli, is included with -hostapd.

- -

Supported WPA/IEEE 802.11i/EAP/IEEE 802.1X features

- - - -

Supported EAP methods (integrated EAP server and RADIUS authentication server)

- - - -

Following methods are also supported, but since they do not generate keying -material, they cannot be used with WPA or IEEE 802.1X WEP keying.

- - - -

More information about EAP methods and interoperability testing is -available in eap_testing.txt.

- - -

Supported wireless cards/drivers

- - - -

Download

- -

-hostapd
-Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> -and contributors. -

- -

-This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. See -COPYING -for more details. -

- -

Alternatively, this software may be distributed, used, and modified -under the terms of BSD license. See README -for more details.

- -

-Please see -README -for the current documentation.

- - - - -

WPA

- -

The original security mechanism of IEEE 802.11 standard was not -designed to be strong and has proven to be insufficient for most -networks that require some kind of security. Task group I (Security) -of IEEE 802.11 working group -has worked to address the flaws of the base standard and in -practice completed its work in May 2004. The IEEE 802.11i amendment to -the IEEE 802.11 standard was approved in June 2004 and published in -July 2004.

- -

Wi-Fi Alliance used a draft -version of the IEEE 802.11i work (draft 3.0) to define a subset of the -security enhancements that can be implemented with existing wlan -hardware. This is called Wi-Fi Protected Access (WPA). This has -now become a mandatory component of interoperability testing and -certification done by Wi-Fi Alliance. Wi-Fi has -information -about WPA at its web site.

- -

IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm -for protecting wireless networks. WEP uses RC4 with 40-bit keys, -24-bit initialization vector (IV), and CRC32 to protect against packet -forgery. All these choices have proven to be insufficient: key space is -too small against current attacks, RC4 key scheduling is insufficient -(beginning of the pseudorandom stream should be skipped), IV space is -too small and IV reuse makes attacks easier, there is no replay -protection, and non-keyed authentication does not protect against bit -flipping packet data.

- -

WPA is an intermediate solution for the security issues. It uses -Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a -compromise on strong security and possibility to use existing -hardware. It still uses RC4 for the encryption like WEP, but with -per-packet RC4 keys. In addition, it implements replay protection, -keyed packet authentication mechanism (Michael MIC).

- -

Keys can be managed using two different mechanisms. WPA can either use -an external authentication server (e.g., RADIUS) and EAP just like -IEEE 802.1X is using or pre-shared keys without need for additional -servers. Wi-Fi calls these "WPA-Enterprise" and "WPA-Personal", -respectively. Both mechanisms will generate a master session key for -the Authenticator (AP) and Supplicant (client station).

- -

WPA implements a new key handshake (4-Way Handshake and Group Key -Handshake) for generating and exchanging data encryption keys between -the Authenticator and Supplicant. This handshake is also used to -verify that both Authenticator and Supplicant know the master session -key. These handshakes are identical regardless of the selected key -management mechanism (only the method for generating master session -key changes).

- - -

IEEE 802.11i / RSN / WPA2

- -

The design for parts of IEEE 802.11i that were not included in WPA -has finished (May 2004) and this amendment to IEEE 802.11 was approved -in June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new -version of WPA called WPA2. This included, e.g., support for more -robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC) -to replace TKIP, optimizations for handoff (reduced number of messages -in initial key handshake, pre-authentication, and PMKSA caching).

- -

Configuration file

- -

hostapd is configured using a text file that lists all the configuration -parameters. See an example configuration file, -hostapd.conf, -for detailed information about the configuration format and supported -fields.

- -

Feedback, comments, mailing list

- -

-Any comments, reports on success/failure, ideas for further -improvement, feature requests, etc. are welcome at j@w1.fi. -Please note, that I often receive more email than I have time to answer. -Unfortunately, some messages may not get a reply, but I'll try to go -through my mail whenever time permits. -

- -

-Host AP mailing list can also be used for topics related to -hostapd. Since this list has a broader audience, your likelihood of -getting responses is higher. This list is recommended for general -questions about hostapd and its development. In addition, I -will send release notes to it whenever a new version is available. -

- -

-The mailing list information and web archive is at http://lists.shmoo.com/mailman/listinfo/hostap. -Messages to hostap@shmoo.com will be delivered to the -subscribers. Please note, that due to large number of spam and virus -messages sent to the list address, the list is configured to accept -messages only from subscribed addresses. Messages from unsubscribed addresses -may be accepted manually, but their delivery will be delayed. -

- -

-If you want to make sure your bug report of feature request does not -get lost, please report it through the bug tracking system as -a new -bug/feature request. -

- -
-
-
Jouni Malinen
- - -Last modified: Sun Feb 27 12:48:54 EET 2011 - -
- - diff --git a/www/index.html b/www/index.html deleted file mode 100644 index 982307915..000000000 --- a/www/index.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - Host AP Linux driver for Intersil Prism2/2.5/3 wireless LAN cards and WPA Supplicant - - - - - - -

Host AP driver for Intersil Prism2/2.5/3, hostapd, and WPA Supplicant

- -

Introduction

- -

This project includes three main components:

- - -

-Host AP is a Linux driver for wireless LAN cards based on Intersil's -Prism2/2.5/3 chipset. The driver supports a so called Host AP mode, i.e., it -takes care of IEEE 802.11 management functions in the host computer -and acts as an access point. This does not require any special -firmware for the wireless LAN card. In addition to this, it has -support for normal station operations in BSS and possible also in -IBSS. WPA and RSN (WPA2) is supported when used with accompanied tools, -wpa_supplicant (WPA/RSN Supplicant) and hostapd (WPA/RSN Authenticator). All -these programs have been designed for both desktop/laptop computers and -embedded systems. -

- -

-Intersil's station firmware for Prism2 chipset supports a so called -Host AP mode in which the firmware takes care of time critical tasks -like beacon sending and frame acknowledging, but leaves other -management tasks to host computer driver. This driver implements basic -functionality needed to initialize and configure Prism2-based cards, -to send and receive frames, and to gather statistics. In addition, it -includes an implementation of following IEEE 802.11 functions: -authentication (and deauthentication), association (reassociation, and -disassociation), data transmission between two wireless stations, -power saving (PS) mode signaling and frame buffering for PS -stations. The driver has also various features for development -debugging and for researching IEEE 802.11 environments like access to -hardware configuration records, I/O registers, and frames with 802.11 -headers. -

- -

-When used with a user space daemon, the combination of the Host AP -driver and hostapd daemon includes additional features. These include -support for IEEE 802.1X and dynamic WEP rekeying, RADIUS Accounting, -RADIUS-based ACL for IEEE 802.11 authentication, minimal IAPP (IEEE -802.11f), WPA, IEEE 802.11i/RSN/WPA2. -

- -

-Linux -Wireless LAN Howto has some useful information about wireless LAN support -in Linux. In addition, it includes information about which cards are -Prism2-based (and can thus be used in Host AP mode). -

- -

WPA/RSN Supplicant (wpa_supplicant)

- -

More information is available on wpa_supplicant's own page.

- -

Supported WPA/IEEE 802.11i features:

- - -

Supported drivers:

- - -

WPA/RSN/EAP Authenticator (hostapd)

- -

More information is available on hostapd's own page.

- -

Supported WPA/IEEE 802.11i features:

- - -

Supported drivers:

- - -

Download

- -

-Host AP driver
-Copyright (c) 2001-2002, SSH Communications Security Corp and -Jouni Malinen.
-Copyright (c) 2002-2007, Jouni Malinen and contributors.
- -Author: Jouni Malinen <j@w1.fi> -

- -

-Host AP utils
-Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi> -and contributors. -

- -

-hostapd
-Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> -and contributors. -

- -

-wpa_supplicant
-Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi> -and contributors. -

- -

-This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. See -COPYING -for more details. hostapd and wpa_supplicant are alternatively -available under BSD license. -

- - -

-Please see -README -for updated documentation of the driver. -Please also check FAQ before sending problem reports. -

- - -

-Note! -Host AP driver was added into the main kernel tree in Linux -v2.6.14. The version in the kernel tree should be used instead of this -external hostap-driver package. The external releases are only for -older kernel versions and all the future development will be in the -main kernel tree. -

- - - - -

Wireless Tools for Linux

- -

-Please, note that you will need quite recent version of Wireless Tools -to use some features of the Host AP driver. Using the -latest -version of the tools is recommended. Some features might also require latest beta version. -

- -

Feedback, comments, mailing list

- -

-Any comments, reports on success/failure, ideas for further -improvement, feature requests, etc. are welcome at j@w1.fi. -Please note, that I often receive more email than I have time to answer. -Unfortunately, some messages may not get a reply, but I'll try to go -through my mail whenever time permits. -

- -

-There is also a mailing list for Host AP related messages. -Since this list has a broader audience, your likelihood of getting -responses is higher. This list is recommended for general questions -about Host AP driver and its development. In addition, I will send -release notes to it whenever a new version is available. -

- -

-The mailing list information and web archive is at http://lists.shmoo.com/mailman/listinfo/hostap. -Messages to hostap@shmoo.com will be delivered to the -subscribers. Please note, that due to large number of spam and virus -messages sent to the list address, the list is configured to accept -messages only from subscribed addresses. Messages from unsubscribed addresses -may be accepted manually, but their delivery will be delayed. -

- -

-If you want to make sure your bug report of feature request does not -get lost, please report it through the bug tracking system as -a new bug/feature request. -

- -
-
-
Jouni Malinen
- - -Last modified: Sun Feb 27 12:51:48 EET 2011 - -
- - diff --git a/www/links.html b/www/links.html deleted file mode 100644 index 894bbdd3b..000000000 --- a/www/links.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - Host AP related links - - - - -

Host AP related links

- -

-Here are some miscellaneous links to pages related to Host AP mode, -driver, etc. Please send any corrections or additions to Jouni Malinen (j@w1.fi). -

- - -

General information

- - - - -

IEEE 802.1X (port-based network access control)

- - - - -

Information in other languages

- - - -
-
-
Jouni Malinen
- - -Last modified: Thu Mar 8 19:44:09 PST 2007 - -
- - diff --git a/www/releases.html b/www/releases.html deleted file mode 100644 index 3a056f827..000000000 --- a/www/releases.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - Host AP driver / wpa_supplicant / hostapd releases - - - - -

- -Host AP driver / -wpa_supplicant / -hostapd releases - -

- -

- -
- -

-

- -
-
Jouni Malinen
- - -Last modified: Thu Mar 8 19:44:22 PST 2007 - - - diff --git a/www/versions.dot b/www/versions.dot deleted file mode 100644 index 60c8a4f22..000000000 --- a/www/versions.dot +++ /dev/null @@ -1,116 +0,0 @@ -digraph versions { - size="10,6" -# rankdir=LR - -# development releases - - node [shape=box] - v001 [label="0.0.1 duh\n2003-04-05"] - v002 [label="0.0.2 duh\n2003-05-03"] - v003 [label="0.0.3 duh\n2003-05-18"] - v004 [label="0.0.4 duh\n2003-07-27"] - v010 [label="0.1.0 duh\n2003-10-14"] - v020 [label="0.2.0 duhw\n2004-02-15"] - v021 [label="0.2.1 duhw\n2004-05-06"] - v022 [label="0.2.2 dhw\n2004-05-31"] - v023 [label="0.2.3 dhw\n2004-06-20"] - v030 [label="0.3.0 duhw\n2004-12-05"] - v031 [label="0.3.1 hw\n2004-12-12"] - v032 [label="0.3.2 duhw\n2004-12-19"] - v033 [label="0.3.3 dhw\n2005-01-02"] - v034 [label="0.3.4 hw\n2005-01-09"] - v035 [label="0.3.5 dhw\n2005-01-23"] - v036 [label="0.3.6 w\n2005-01-24"] - - v040 [label="0.4.0 duhw\n2005-04-25"] - v041 [label="0.4.1 dhw\n2005-05-22"] - v042 [label="0.4.2 hw\n2005-06-12"] - v043 [label="0.4.3 hw\n2005-06-26"] - v044 [label="0.4.4 dhw\n2005-08-21"] - v045 [label="0.4.5 dhw\n2005-09-25"] - v046 [label="0.4.6 hw\n2005-10-27"] - v050 [label="0.5.0 hw\n2005-12-18"] - v051 [label="0.5.1 hw\n2006-01-29"] - v052 [label="0.5.2 hw\n2006-03-19"] - v053 [label="0.5.3 hw\n2006-04-27"] - v054 [label="0.5.4 hw\n2006-06-20"] - v055 [label="0.5.5 hw\n2006-08-27"] - v056 [label="0.5.6 hw\n2006-11-24"] - v060 [label="0.6.0 hw\n2007-05-28"] - v061 [label="0.6.1 hw\n2007-11-24"] - v062 [label="0.6.2 hw\n2008-01-01"] - v063 [label="0.6.3 hw\n2008-02-22"] - v064 [label="0.6.4 hw\n2008-08-10"] - v065 [label="0.6.5 hw\n2008-11-01"] - v066 [label="0.6.6 hw\n2008-11-23"] - v067 [label="0.6.7 hw\n2009-01-06"] - - v070 [label="0.7.0 hw\n2009-11-21"] - v071 [label="0.7.1 hw\n2010-01-16"] - v072 [label="0.7.2 hw\n2010-04-18"] - -# stable releases - - node [fillcolor=green style=filled] - v024 [label="0.2.4 dhw\n2004-07-17"] - v025 [label="0.2.5 dhw\n2004-10-03"] - v026 [label="0.2.6 duhw\n2004-12-25"] - v027 [label="0.2.7 w\n2005-02-13"] - v028 [label="0.2.8 duhw\n2006-02-20"] - v037 [label="0.3.7 duhw\n2005-02-12"] - v038 [label="0.3.8 w\n2005-02-13"] - v039 [label="0.3.9 dhw\n2005-06-10"] - v0310 [label="0.3.10 dhw\n2006-02-12"] - v0311 [label="0.3.11 hw\n2006-05-13"] - v047 [label="0.4.7 duhw\n2005-11-20"] - v048 [label="0.4.8 hw\n2006-02-08"] - v049 [label="0.4.9 dhw\n2006-05-06"] - v0410 [label="0.4.10 hw\n2007-02-19"] - v0411 [label="0.4.11 hw\n2008-02-23"] - v057 [label="0.5.7 hw\n2006-12-31"] - v058 [label="0.5.8 hw\n2007-05-28"] - v059 [label="0.5.9 hw\n2007-12-02"] - v0510 [label="0.5.10 hw\n2008-02-19"] - v0511 [label="0.5.11 hw\n2008-11-28"] - v068 [label="0.6.8 hw\n2009-02-15"] - v069 [label="0.6.9 hw\n2009-03-23"] - v0610 [label="0.6.10 hw\n2010-01-12"] - v073 [label="0.7.3 hw\n2010-09-07"] - -# development releases - - v001 -> v002 -> v003 -> v004 - v004 -> v010 -> v020 -> v021 -> v022 -> v023 -> v024 - v024 -> v030 -> v031 -> v032 -> v033 -> v034 -> v035 -> v036 -> v037 - v037 -> v040 -> v041 -> v042 -> v043 -> v044 -> v045 -> v046 -> v047 - v047 -> v050 -> v051 -> v052 -> v053 -> v054 -> v055 -> v056 -> v057 - v057 -> v060 -> v061 -> v062 -> v063 -> v064 -> v065 -> v066 -> v067 -> v068 - v068 -> v070 -> v071 -> v072 -> v073 - - {rank=same; v001 v024} - {rank=same; v030 v037} - {rank=same; v040 v047} - {rank=same; v050 v057} - {rank=same; v060 v068} - {rank=same; v070 v073} - -# stable releases - - v024 -> v025 -> v026 -> v027 -> v028 - v037 -> v038 -> v039 -> v0310 -> v0311 - v047 -> v048 -> v049 -> v0410 -> v0411 - v057 -> v058 -> v059 -> v0510 -> v0511 - v068 -> v069 -> v0610 - v073 - - {rank=same; v024 v025 v026 v027 v028} - {rank=same; v037 v038 v039 v0310 v0311} - {rank=same; v047 v048 v049 v0410 v0411} - {rank=same; v057 v058 v059 v0510 v0511} - {rank=same; v068 v069 v0610} - {rank=same; v073} - -# edge [style=dashed,color=red] -# v030 -> v036 - -} diff --git a/www/wpa_supplicant/conf/auth_modes.html b/www/wpa_supplicant/conf/auth_modes.html deleted file mode 100644 index cee7c7d6e..000000000 --- a/www/wpa_supplicant/conf/auth_modes.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - Introduction to wireless authentication modes - - - - - - -

Introduction to wireless authentication modes

- -

TODO

- -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:46:58 PST 2006 - - - diff --git a/www/wpa_supplicant/conf/configure.css b/www/wpa_supplicant/conf/configure.css deleted file mode 100644 index 17e8852de..000000000 --- a/www/wpa_supplicant/conf/configure.css +++ /dev/null @@ -1,49 +0,0 @@ -body{ - font: normal 80% Verdana, Helvetica; -} - -.confdesc{ - width: 80%; - border: 1px solid black; - background-color: #ededed; - padding: 5px; - font-size: 90%; - visibility: hidden; - margin-left: 30px; -} - -.exampleconf{ - width: 98%; - border: 1px solid black; - background-color: #ededed; - padding: 5px; - font-family: Courier; - font-size: 100%; -} - -.todo{ - font-style: italic; - color: red; -} - -.error{ - color: red; -} - -.credlayer{ - display: none; -} - -#navig{ - font: normal 100% Verdana, Helvetica; - margin-left: 0px; - margin-top: 0px; - padding: 0px; - margin: 0px; - display: inline; -} - -#navig a { - text-decoration: none; - color: navy; -} \ No newline at end of file diff --git a/www/wpa_supplicant/conf/configure.html b/www/wpa_supplicant/conf/configure.html deleted file mode 100644 index 858ba7f25..000000000 --- a/www/wpa_supplicant/conf/configure.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - wpa_supplicant configuration wizard - - - - - - - -

wpa_supplicant configuration wizard

- -

wpa_supplicant supports large range of security -modes and authentication types. Just looking at the reference -information of available configuration options may not provide enough -high level understanding to select which options are needed. This page -provides information about configuring wpa_supplicant and a wizard for -generating example configuration files to make it easier to understand -different security policies and how they should be configured for -wpa_supplicant.

- -

The wizard goes through steps to select suitable options based on -your input. An example configuration file is updated at each -step. This example can be seen at the bottom of this page.

- -

Step 1/5: Operating system and driver

- -

wpa_supplicant can be used with multiple operating systems and -network drivers. Most of the configuration parameters do not depend on -this, but some of the parameters may need to be changed based on -OS/driver capabilities.

- -
- - -
- -
- - -

Step 2/5: Network name

- -

-Wireless networks have a "network name" (SSID = Service Set -Identifier). This is a sequence of up to 32 characters. This name is -used to select which access points (AP) can be used and as such, it -must match with the SSID configured for the desired AP. -

- -

-Some APs allow SSIDs to be "hidden" which requires that the client is -specifically searching for the configured to SSID to be able to -connect. This may require some additional options in wpa_supplicant -configuration, so enable those here by checking "hidden SSID" if your -AP is configured to hide the SSID. This may show up as "brodcast SSID -disabled" or "hidden SSID" or something similar in the AP -configuration. Hidden SSID configuration does not prevent -wpa_supplicant from connecting to APs that do not hide SSID, so it can -be enabled for all cases. -

- -
-SSID: -hidden SSID -
- - -

Step 3/5: Authentication mode

- -

TODO: write explanation for different modes

- -
- - -
- -
- - -

Step 4/5: Encryption

- -

TODO: different group cipher for WPA/WPA2

- -
- -
- -
- - -

Step 5/5: Authentication credentials

- -
-Authentication mode (Step 3) must be selected first. -
- -
-No credentials needed for open network. -
- -
-

-Static WEP keys requires that at least one key is configured. Up to -four keys can be configured and one of them needs to be selected to be -used for transmitted frames. All configured keys can be used when -decrypting received frames. -

- -

-WEP can be used with different key length. In most cases, either -40-bit or 104-bit keys are used. These key lengths may also be shown -as 64-bit and 128-bit in some cases since WEP adds 24-bit -initialization vector into the keys. 40-bit keys can be entered as -five character string surrounded with double quotation marks, e.g., -"abcde". Alternatively, they can be entered as a hex string of ten -characters without quotation marks, e.g., 6162636465. Both of these -options configure the same key. 104-bit keys are entered similarly, -with 13-character text string or 26-character hex string. -

- -

-wpa_supplicant uses indexes 0 .. 3 for the WEP keys. Some other user -interfaces may use indexes 1 .. 4, so this needs to be taken into -account when determining which index to use here. -

- -
-WEP key 0:
-WEP key 1:
-WEP key 2:
-WEP key 3:
-Transmit key -
-
- -
-

-Passphrase (string of 8 to 63 characters) needs to be configured for -WPA/WPA2-Personal. This passphrase is then converted into a 256-bit -pre-shared key (PSK). Alternatively, a 256-bit PSK can be entered as -64-character hex string into the PSK field. Only one of these options -should be used. -

-
-Passphrase: -PSK: -
-
- -
-

TODO: write introduction text for each EAP method

-
-EAP method: -Tunneled method (phase 2):
-Identity (user name):
-Anonymous identity (user name):
-Password:
-CA certificate:
-User certificate:
-User private key:
-User private key passphrase:
-EAP-FAST PAC file:
-
-
- -
- - -

Example configuration

- -
-Configuration example is updated automatically when modifying -information above. However, if it is not updated in some cases (e.g., -after reloading the page), you can force an update with this button.
- -
- -

-This configuration file can be copied to a text file that -wpa_supplicant will then be asked to use with -c<full path to -configuration file> command line option. -

- -
-# example configuration will be generated here
-
- -
- -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:47:30 PST 2006 - - - diff --git a/www/wpa_supplicant/conf/configure.js b/www/wpa_supplicant/conf/configure.js deleted file mode 100644 index 267982bfa..000000000 --- a/www/wpa_supplicant/conf/configure.js +++ /dev/null @@ -1,544 +0,0 @@ -var conf_ap_scan = -1; -var conf_wired = false; - -function configure_os() -{ - var os = document.os_driver.os.value; - document.os_driver.driver.disabled = false; - document.os_driver.driver[0] = new Option("Select your driver", "select"); - if (os == "linux") { - document.os_driver.driver[1] = new Option("madwifi", "madwifi"); - document.os_driver.driver[2] = new Option("Host AP (Prism2/2.5/3)", "hostap"); - document.os_driver.driver[3] = new Option("Intel ipw2100/2200", "ipw"); - document.os_driver.driver[4] = new Option("Any wired Ethernet driver", "linux_wired"); - document.os_driver.driver[5] = new Option("Other", "other linux"); - } else if (os == "windows") { - document.os_driver.driver[1] = new Option("Any wireless NDIS driver", "ndis_wireless"); - document.os_driver.driver[2] = new Option("Any wired (Ethernet) NDIS driver", "ndis_wired"); - } -} - - -function configure_driver() -{ - var drv = document.os_driver.driver.value; - var t = document.getElementById("os_desc"); - - t.innerHTML = ""; - t.style.visibility = "hidden"; - - if (drv == "ndis_wireless") { - conf_ap_scan = 2; - t.innerHTML = "All wireless Windows NDIS drivers support AP selection " + - "and roaming, so in most cases, configuring the driver to take care " + - "of this by setting ap_scan=2 is the recommended configuration for " + - "Windows."; - t.style.visibility = "visible"; - } else if (drv == "ndis_wired" || drv == "linux_wired") { - conf_ap_scan = 0; - conf_wired = true; - } else - conf_ap_scan = 1; - - update_conf(); -} - - -function update_encr() -{ - var auth = document.authmode.auth.value; - var t = document.getElementById("encr_desc"); - - for (i = 0; i < 6; i++) - document.encrmode.encr[i] = null; - if (auth == "open") { - document.encrmode.encr[0] = new Option("None (unencrypted open network)", "none"); - document.encrmode.encr.selectedIndex = 0; - t.innerHTML = "Based on the selected authentication mode (open network), only 'None' is an allowed encryption mode."; - t.style.visibility = "visible"; - } else if (auth == "wep") { - document.encrmode.encr[0] = new Option("WEP (Wired Equivalent Privacy)", "wep"); - document.encrmode.encr.selectedIndex = 0; - t.innerHTML = "Based on the selected authentication mode (WEP), only 'WEP' is an allowed encryption mode."; - t.style.visibility = "visible"; - } else if (auth == "ieee8021x") { - document.encrmode.encr[0] = new Option("None (unencrypted open network)", "none"); - document.encrmode.encr[1] = new Option("WEP (Wired Equivalent Privacy)", "wep"); - document.encrmode.encr.selectedIndex = conf_wired ? 0 : 1; - t.innerHTML = "Based on the selected authentication mode (IEEE 802.1X), either 'None' or 'WEP' can be selected. In wireless networks, this is most likely going to be 'WEP' and in wired networks, only 'None' is allowed."; - t.style.visibility = "visible"; - } else if (auth == "wpa-psk" || auth == "wpa-eap") { - document.encrmode.encr[0] = new Option("TKIP (Temporal Key Integrity Protocol)", "tkip"); - document.encrmode.encr[1] = new Option("CCMP (AES Counter-Mode/CBC-MAC Protocol)", "ccmp"); - document.encrmode.encr.selectedIndex = (document.authmode.auth2.value == "wpa1") ? 0 : 1; - t.innerHTML = "Based on the selected authentication mode (WPA/WPA2), either 'TKIP' or 'CCMP' can be selected. Most WPA networks are using TKIP whereas WPA2 defaults to CCMP."; - t.style.visibility = "visible"; - } else { - t.innerHTML = ""; - t.style.visibility = "hidden"; - } -} - - -function update_cred() -{ - var auth = document.authmode.auth.value; - var t; - - t = document.getElementById("cred_unknown"); - t.style.display = "none"; - t = document.getElementById("cred_open"); - t.style.display = "none"; - t = document.getElementById("cred_wep"); - t.style.display = "none"; - t = document.getElementById("cred_psk"); - t.style.display = "none"; - t = document.getElementById("cred_eap"); - t.style.display = "none"; - - if (auth == "open") { - t = document.getElementById("cred_open"); - t.style.display = "block"; - } else if (auth == "wep") { - t = document.getElementById("cred_wep"); - t.style.display = "block"; - } else if (auth == "wpa-psk") { - t = document.getElementById("cred_psk"); - t.style.display = "block"; - } else if (auth == "ieee8021x" || auth == "wpa-eap") { - t = document.getElementById("cred_eap"); - t.style.display = "block"; - } else { - t = document.getElementById("cred_unknown"); - t.style.display = "block"; - } -} - - -function configure_auth() -{ - var auth = document.authmode.auth.value; - - document.authmode.auth2[0] = null; - document.authmode.auth2[1] = null; - document.authmode.auth2.disabled = true; - if (auth == "wep") { - document.authmode.auth2[0] = new Option("Open System authentication", "open"); - document.authmode.auth2[1] = new Option("Shared Key authentication", "shared"); - document.authmode.auth2.disabled = false; - } else if (auth == "wpa-psk" || auth == "wpa-eap") { - document.authmode.auth2[0] = new Option("WPA (version 1)", "wpa1"); - document.authmode.auth2[1] = new Option("WPA2 (IEEE 802.11i)", "wpa2"); - document.authmode.auth2.disabled = false; - } - - update_encr(); - update_cred(); - update_conf(); -} - - -function configure_auth2() -{ - update_encr(); - update_conf(); -} - - -function configure_encr() -{ - update_conf(); -} - - -function configure_passphrase() -{ - var passphrase = document.cred_psk_form.passphrase.value; - var psk = document.cred_psk_form.psk.value; - var t = document.getElementById("cred_desc"); - - if (psk.length && (psk.length != 64 || !is_hex(psk))) { - t.innerHTML = "

Note: Invalid PSK

"; - t.style.visibility = "visible"; - } else if (psk.length == 0 && passphrase.length && - (passphrase.length < 8 || passphrase.length > 63)) { - t.innerHTML = "

Note: Invalid passphrase

"; - t.style.visibility = "visible"; - } else { - t.innerHTML = ""; - t.style.visibility = "hidden"; - } - - if (psk.length) { - document.cred_psk_form.passphrase.disabled = true; - document.cred_psk_form.psk.disabled = false; - } else if (passphrase.length) { - document.cred_psk_form.passphrase.disabled = false; - document.cred_psk_form.psk.disabled = true; - } else { - document.cred_psk_form.passphrase.disabled = false; - document.cred_psk_form.psk.disabled = false; - } - - update_conf(); -} - - -function is_hex(s) -{ - if (s.length % 2) - return false; - - for (i = 0; i < s.length; i++) { - if (s[i] >= 'a' && s[i] <= 'f') - continue; - if (s[i] >= 'A' && s[i] <= 'F') - continue; - if (s[i] >= '0' && s[i] <= '9') - continue; - return false; - } - - return true; -} - - -function valid_wep_key(key) -{ - if (key.length == 0) - return true; - - if (key[0] == '"') { - if (key[key.length - 1] != '"') - return false; - return (key.length == 5 + 2 || key.length == 13 + 2 || - key.length == 16 + 2); - } - - return (is_hex(key) && - (key.length == 10 || key.length == 26 || key.length == 32)); -} - - -function configure_wep() -{ - var t = document.getElementById("cred_desc"); - var txt = ""; - var wep; - - wep = document.cred_wep_form.wep0.value; - if (!valid_wep_key(wep)) - txt += "

Note: Invalid WEP key: " + wep + "

\n"; - wep = document.cred_wep_form.wep1.value; - if (!valid_wep_key(wep)) - txt += "

Note: Invalid WEP key: " + wep + "

\n"; - wep = document.cred_wep_form.wep2.value; - if (!valid_wep_key(wep)) - txt += "

Note: Invalid WEP key: " + wep + "

\n"; - wep = document.cred_wep_form.wep3.value; - if (!valid_wep_key(wep)) - txt += "

Note: Invalid WEP key: " + wep + "

\n"; - - if (txt.length) { - t.innerHTML = txt; - t.style.visibility = "visible"; - } else if (t.style.visibility != "hidden") - t.style.visibility = "hidden"; - - update_conf(); -} - - -function update_eap() -{ - var eap = document.cred_eap_form.eap.value; - var n = 0; - - if (eap == "PEAP" || eap == "TTLS" || eap == "FAST") { - document.cred_eap_form.phase2[n++] = new Option("EAP-MSCHAPv2", "MSCHAPV2"); - document.cred_eap_form.phase2.selectedIndex = n - 1; - if (eap != "FAST") { - document.cred_eap_form.phase2[n++] = new Option("EAP-GTC", "GTC"); - document.cred_eap_form.phase2[n++] = new Option("EAP-MD5", "MD5"); - document.cred_eap_form.phase2[n++] = new Option("EAP-TLS", "TLS"); - document.cred_eap_form.phase2[n++] = new Option("EAP-OTP", "OTP"); - } - if (eap == "TTLS") { - document.cred_eap_form.phase2[n++] = new Option("MSCHAPv2", "_MSCHAPV2"); - document.cred_eap_form.phase2.selectedIndex = n - 1; - document.cred_eap_form.phase2[n++] = new Option("MSCHAP", "_MSCHAP"); - document.cred_eap_form.phase2[n++] = new Option("PAP", "_PAP"); - document.cred_eap_form.phase2[n++] = new Option("CHAP", "_CHAP"); - } - document.cred_eap_form.phase2.disabled = false; - } else { - document.cred_eap_form.phase2.disabled = true; - } - - for (i = 20; i >= n; i--) - document.cred_eap_form.phase2[i] = null; - - update_eap2(); -} - - -function update_eap2() -{ - var eap = document.cred_eap_form.eap.value; - var password = false; - var ca_cert = false; - var user_cert = false; - - if (eap == "PEAP" || eap == "TTLS") { - ca_cert = true; - if (document.cred_eap_form.phase2.value == "TLS") - user_cert = true; - else - password = true; - } else if (eap == "FAST") { - password = true; - } else if (eap == "GTC") { - password = true; - } else if (eap == "LEAP" || eap == "MD5" || eap == "MSCHAPV2") { - password = true; - } else if (eap == "TLS") { - ca_cert = true; - user_cert = true; - } - - if (eap == "TTLS") { - document.cred_eap_form.anon_identity.disabled = false; - document.cred_eap_form.anon_identity.value = "anonymous"; - } else if (eap == "FAST") { - document.cred_eap_form.anon_identity.disabled = false; - document.cred_eap_form.anon_identity.value = "FAST-000000000000"; - } else { - document.cred_eap_form.anon_identity.disabled = true; - } - document.cred_eap_form.password.disabled = !password; - if (ca_cert) { - document.cred_eap_form.ca_cert.disabled = false; - if (document.cred_eap_form.ca_cert.value.length == 0) - document.cred_eap_form.ca_cert.value = "/etc/ca.pem"; - } else { - document.cred_eap_form.ca_cert.disabled = true; - } - document.cred_eap_form.client_cert.disabled = !user_cert; - document.cred_eap_form.private_key.disabled = !user_cert; - document.cred_eap_form.private_key_passwd.disabled = !user_cert; - - if (eap == "FAST") { - document.cred_eap_form.pac_file.disabled = false; - if (document.cred_eap_form.pac_file.value.length == 0) - document.cred_eap_form.pac_file.value = "/etc/fast.pac"; - } else { - document.cred_eap_form.pac_file.disabled = true; - } - - configure_eap(); -} - - -function configure_eap() -{ - update_conf(); -} - - -function update_conf() -{ - var t = document.getElementById("exampleconf"); - var txt = ""; - var indent = "    "; - var ap_scan = conf_ap_scan; - var drv = document.os_driver.driver.value; - - update_cred(); - - if (document.network.hidden_ssid.checked && ap_scan == 1 && - drv != "hostap" && drv != "madwifi") { - /* if the selected driver does not support scan_ssid, must use - * ap_scan=2 mode with hidden SSIDs */ - txt += "# this driver requires ap_scan=2 mode when using hidden SSIDs
\n"; - ap_scan = 2; - } - - switch (ap_scan) { - case -1: - txt += "# example configuration will be generated here
\n"; - break; - case 0: - txt += "# wired drivers do not use scanning
\n" + - "ap_scan=0

\n"; - break; - case 1: - txt += "# request AP scanning and decide which AP to use
\n" + - "ap_scan=1

\n"; - break; - case 2: - txt += "# request driver to take care of AP selection and roaming
\n" + - "ap_scan=2

\n"; - break; - } - - if (document.os_driver.os.value == "windows") { - txt += "# enable control interface using local UDP socket
\n" + - "ctrl_interface=udp
\n"; - } else { - txt += "# enable control interface using UNIX domain sockets
\n" + - "ctrl_interface=/var/run/wpa_supplicant
\n"; - } - - txt += "
\n" + - "# you can include one or more network blocks here
\n" + - "network={
\n"; - - if (conf_wired) { - txt += indent + "# wired network - must not configure SSID here
\n"; - } else { - if (document.network.ssid.value.length == 0) - txt += indent + "# must configure SSID here (Step 2)
\n"; - txt += indent + "ssid=\"" + document.network.ssid.value + "\"
\n"; - if (ap_scan == 1 && document.network.hidden_ssid.checked) - txt += indent + "scan_ssid=1
\n"; - } - - var auth = document.authmode.auth.value; - var auth2 = document.authmode.auth2.value; - - if (auth == "open" || auth == "wep") - txt += indent + "key_mgmt=NONE
\n"; - else if (auth == "ieee8021x") - txt += indent + "key_mgmt=IEEE8021X
\n"; - else if (auth == "wpa-psk") - txt += indent + "key_mgmt=WPA-PSK
\n"; - else if (auth == "wpa-eap") - txt += indent + "key_mgmt=WPA-EAP
\n"; - else - txt += indent + "# must set key_mgmt here (Step 3)
\n"; - - if (auth == "wep") { - if (auth2 == "open") - txt += indent + "auth_alg=OPEN
\n"; - else if (auth2 == "shared") - txt += indent + "auth_alg=SHARED
\n"; - } else if (auth == "wpa-psk" || auth == "wpa-eap") { - if (auth2 == "wpa1") - txt += indent + "proto=WPA
\n"; - else if (auth2 == "wpa2") - txt += indent + "proto=WPA2
\n"; - else - txt += indent + "# WPA proto (v1/v2) should be configured here (Step 3)
\n"; - } - - - if (auth == "wpa-psk" || auth == "wpa-eap") { - var encr = document.encrmode.encr.value; - if (encr == "tkip") - txt += indent + "pairwise=TKIP
\n"; - else if (encr == "ccmp") - txt += indent + "pairwise=CCMP
\n"; - else - txt += indent + "# should configure pairwise encryption cipher (Step 4)
\n"; - } - - if (auth == "wep") { - var wep; - wep = document.cred_wep_form.wep0.value; - if (wep.length) - txt += indent + "wep_key0=" + wep + "
\n"; - wep = document.cred_wep_form.wep1.value; - if (wep.length) - txt += indent + "wep_key1=" + wep + "
\n"; - wep = document.cred_wep_form.wep2.value; - if (wep.length) - txt += indent + "wep_key2=" + wep + "
\n"; - wep = document.cred_wep_form.wep3.value; - if (wep.length) - txt += indent + "wep_key3=" + wep + "
\n"; - txt += indent + "wep_tx_keyidx=" + document.cred_wep_form.wep_tx_idx.value + "
\n"; - } else if (auth == "wpa-psk") { - var passphrase = document.cred_psk_form.passphrase.value; - var psk = document.cred_psk_form.psk.value; - if (psk.length) { - if (psk.length != 64) - txt += indent + "# WPA PSK 64-character hex string
\n"; - txt += indent + "psk=" + psk + "
\n"; - } else { - if (passphrase.length < 8) - txt += indent + "# WPA passphrase must be at least 8 characters long
\n"; - if (passphrase.length > 63) - txt += indent + "# WPA passphrase must be at most 63 characters long
\n"; - txt += indent + "psk=\"" + passphrase + "\"
\n"; - } - } else if (auth == "ieee8021x" || auth == "wpa-eap") { - var eap = document.cred_eap_form.eap.value; - if (eap == "select") - txt += indent + "# EAP method needs to be selected (Step 5)
\n"; - else - txt += indent + "eap=" + eap + "
\n"; - - var phase2 = document.cred_eap_form.phase2; - var eap2 = phase2.value; - if (eap == "PEAP" || eap == "TTLS" || eap == "FAST") { - txt += indent + "phase2=\"auth"; - if (eap == "TTLS") { - if (eap2[0] == '_') { - eap2 = eap2.substring(1); - } else - txt += "eap"; - } - txt += "=" + eap2 + "\"
\n"; - } - - var identity = document.cred_eap_form.identity.value; - if (identity.length) - txt += indent + "identity=\"" + identity + "\"
\n"; - - var anon = document.cred_eap_form.anon_identity; - if (!anon.disabled && anon.value.length) - txt += indent + "anonymous_identity=\"" + anon.value + "\"
\n"; - - var password = document.cred_eap_form.password; - if (!password.disabled && password.value.length) - txt += indent + "password=\"" + password.value + "\"
\n"; - - var ca_cert = document.cred_eap_form.ca_cert; - if (!ca_cert.disabled) { - txt += indent + "ca_cert=\"" + ca_cert.value + "\"
\n"; - if (!phase2.disabled && eap2 == "TLS") - txt += indent + "ca_cert2=\"" + ca_cert.value + "\"
\n"; - } - - var client_cert = document.cred_eap_form.client_cert; - if (!client_cert.disabled) { - var e = ""; - if (!phase2.disabled && eap2 == "TLS") - e = "2"; - - if (client_cert.value.length) - txt += indent + "client_cert" + e + "=\"" + client_cert.value + "\"
\n"; - - var key = document.cred_eap_form.private_key.value; - if (key.length) - txt += indent + "private_key" + e + "=\"" + key + "\"
\n"; - - var passwd = document.cred_eap_form.private_key_passwd.value; - if (passwd.length) - txt += indent + "private_key_passwd" + e + "=\"" + passwd + "\"
\n"; - } - - var pac = document.cred_eap_form.pac_file; - if (!pac.disabled && pac.value.length) - txt += indent + "pac_file=\"" + pac.value + "\"
\n"; - if (eap == "FAST") - txt += indent + "phase1=\"fast_provisioning=1\"
\n"; - } - - txt += "}
\n"; - - - txt += "

\n"; - - t.innerHTML = txt; -} diff --git a/www/wpa_supplicant/conf/eap-peap.html b/www/wpa_supplicant/conf/eap-peap.html deleted file mode 100644 index 88717fb3a..000000000 --- a/www/wpa_supplicant/conf/eap-peap.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - EAP-PEAP - - - - - - -

EAP-PEAP

- -

TODO

- -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:46:04 PST 2006 - - - diff --git a/www/wpa_supplicant/conf/eap-tls.html b/www/wpa_supplicant/conf/eap-tls.html deleted file mode 100644 index a0b9e4e27..000000000 --- a/www/wpa_supplicant/conf/eap-tls.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - EAP-TLS - - - - - - -

EAP-TLS

- -

TODO

- -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:46:48 PST 2006 - - - diff --git a/www/wpa_supplicant/conf/eap.html b/www/wpa_supplicant/conf/eap.html deleted file mode 100644 index 607c749ea..000000000 --- a/www/wpa_supplicant/conf/eap.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - Introduction to EAP authentication - - - - - - -

Introduction to EAP authentication

- -

TODO

- - - -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:46:19 PST 2006 - - - diff --git a/www/wpa_supplicant/conf/index.html b/www/wpa_supplicant/conf/index.html deleted file mode 100644 index fcf40ee43..000000000 --- a/www/wpa_supplicant/conf/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - Configuring wpa_supplicant - - - - - - -

Configuring wpa_supplicant

- - - -
-
Jouni Malinen
- - -Last modified: Sun Feb 26 13:42:02 PST 2006 - - - diff --git a/www/wpa_supplicant/events.png b/www/wpa_supplicant/events.png deleted file mode 100644 index 77097ed78..000000000 Binary files a/www/wpa_supplicant/events.png and /dev/null differ diff --git a/www/wpa_supplicant/index.html b/www/wpa_supplicant/index.html deleted file mode 100644 index fcdf3f175..000000000 --- a/www/wpa_supplicant/index.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i) - - - - - - -

Linux WPA/WPA2/IEEE 802.1X Supplicant

- -

wpa_supplicant is a WPA Supplicant for Linux, BSD, Mac OS X, and -Windows with -support for WPA and WPA2 (IEEE 802.11i / RSN). It is suitable for both -desktop/laptop computers and embedded systems. Supplicant is the IEEE -802.1X/WPA component that is used in the client stations. It -implements key negotiation with a WPA Authenticator and it controls -the roaming and IEEE 802.11 authentication/association of the wlan -driver.

- -

wpa_supplicant is designed to be a "daemon" program that runs in the -background and acts as the backend component controlling the wireless -connection. wpa_supplicant supports separate frontend programs and a -text-based frontend (wpa_cli) and a GUI (wpa_gui) are included with -wpa_supplicant.

- -

wpa_supplicant uses a flexible build configuration that can be used -to select which features are included. This allows minimal code size -(from ca. 50 kB binary for WPA/WPA2-Personal and 130 kB binary for -WPA/WPA2-Enterprise without debugging code to 450 kB with most -features and full debugging support; these example sizes are from a -build for x86 target).

- - -

Supported WPA/IEEE 802.11i features

- - - -

Supported EAP methods (IEEE 802.1X Supplicant)

- - - -

Following methods are also supported, but since they do not generate keying -material, they cannot be used with WPA or IEEE 802.1X WEP keying.

- - - -

More information about EAP methods and interoperability testing is -available in eap_testing.txt.

- - -

Supported TLS/crypto libraries

- - - -

Internal TLS/crypto implementation (optional)

- - - -

Supported wireless cards/drivers

- - - -

wpa_supplicant was designed to be portable for different drivers and -operating systems. Hopefully, support for more wlan cards and OSes will be -added in the future. See developers' documentation -for more information about the design of wpa_supplicant and porting to -other drivers.

- -

Download

- -

-wpa_supplicant
-Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi> -and contributors. -

- -

-This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. See -COPYING -for more details. -

- -

Alternatively, this software may be distributed, used, and modified -under the terms of BSD license. See README -for more details.

- -

-Please see -README -for the current documentation.
-README-Windows.txt -has some more information about the Windows port of wpa_supplicant.

- - - - -

WPA

- -

The original security mechanism of IEEE 802.11 standard was not -designed to be strong and has proven to be insufficient for most -networks that require some kind of security. Task group I (Security) -of IEEE 802.11 working group -has worked to address the flaws of the base standard and in -practice completed its work in May 2004. The IEEE 802.11i amendment to -the IEEE 802.11 standard was approved in June 2004 and published in -July 2004.

- -

Wi-Fi Alliance used a draft -version of the IEEE 802.11i work (draft 3.0) to define a subset of the -security enhancements that can be implemented with existing wlan -hardware. This is called Wi-Fi Protected Access (WPA). This has -now become a mandatory component of interoperability testing and -certification done by Wi-Fi Alliance. Wi-Fi has -information -about WPA at its web site.

- -

IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm -for protecting wireless networks. WEP uses RC4 with 40-bit keys, -24-bit initialization vector (IV), and CRC32 to protect against packet -forgery. All these choices have proven to be insufficient: key space is -too small against current attacks, RC4 key scheduling is insufficient -(beginning of the pseudorandom stream should be skipped), IV space is -too small and IV reuse makes attacks easier, there is no replay -protection, and non-keyed authentication does not protect against bit -flipping packet data.

- -

WPA is an intermediate solution for the security issues. It uses -Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a -compromise on strong security and possibility to use existing -hardware. It still uses RC4 for the encryption like WEP, but with -per-packet RC4 keys. In addition, it implements replay protection, -keyed packet authentication mechanism (Michael MIC).

- -

Keys can be managed using two different mechanisms. WPA can either use -an external authentication server (e.g., RADIUS) and EAP just like -IEEE 802.1X is using or pre-shared keys without need for additional -servers. Wi-Fi calls these "WPA-Enterprise" and "WPA-Personal", -respectively. Both mechanisms will generate a master session key for -the Authenticator (AP) and Supplicant (client station).

- -

WPA implements a new key handshake (4-Way Handshake and Group Key -Handshake) for generating and exchanging data encryption keys between -the Authenticator and Supplicant. This handshake is also used to -verify that both Authenticator and Supplicant know the master session -key. These handshakes are identical regardless of the selected key -management mechanism (only the method for generating master session -key changes).

- - -

IEEE 802.11i / RSN / WPA2

- -

The design for parts of IEEE 802.11i that were not included in WPA -has finished (May 2004) and this amendment to IEEE 802.11 was approved -in June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new -version of WPA called WPA2. This included, e.g., support for more -robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC) -to replace TKIP, optimizations for handoff (reduced number of messages -in initial key handshake, pre-authentication, and PMKSA caching).

- -

Using wpa_supplicant

- -

Following steps are used when associating with an AP using WPA:

-

- -

Configuration file

- -

wpa_supplicant is configured using a text file that lists all accepted -networks and security policies, including pre-shared keys. See -example configuration file, -wpa_supplicant.conf, -for detailed information about the configuration format and supported -fields. In addition, simpler example configurations are available for -plaintext, -static WEP, -IEEE 802.1X with dynamic WEP (EAP-PEAP/MSCHAPv2), -WPA-PSK/TKIP, and -WPA2-EAP/CCMP (EAP-TLS). -In addition, wpa_supplicant can use OpenSSL engine to avoid need for -exposing private keys in the file system. This can be used for EAP-TLS -authentication with smartcards and TPM tokens. -Example configuration for using openCryptoki -shows an example network block and related parameters for EAP-TLS -authentication using PKCS#11 TPM token. -

- -

Feedback, comments, mailing list

- -

-Any comments, reports on success/failure, ideas for further -improvement, feature requests, etc. are welcome at j@w1.fi. -Please note, that I often receive more email than I have time to answer. -Unfortunately, some messages may not get a reply, but I'll try to go -through my mail whenever time permits. -

- -

Host AP mailing list can also be used for topics related to -wpa_supplicant. Since this list has a broader audience, your likelihood -of getting responses is higher. This list is recommended for general -questions about wpa_supplicant and its development. In addition, I -will send release notes to it whenever a new version is available. -

- -

-The mailing list information and web archive is at http://lists.shmoo.com/mailman/listinfo/hostap. -Messages to hostap@shmoo.com will be delivered to the -subscribers. Please note, that due to large number of spam and virus -messages sent to the list address, the list is configured to accept -messages only from subscribed addresses. Messages from unsubscribed addresses -may be accepted manually, but their delivery will be delayed. -

- -

-If you want to make sure your bug report of feature request does not -get lost, please report it through the bug tracking system as -a new -bug/feature request. -

- -
-
-
Jouni Malinen
- - -Last modified: Sun Feb 27 12:48:48 EET 2011 - -
- - diff --git a/www/wpa_supplicant/main.png b/www/wpa_supplicant/main.png deleted file mode 100644 index dfbafd608..000000000 Binary files a/www/wpa_supplicant/main.png and /dev/null differ diff --git a/www/wpa_supplicant/net_conf.png b/www/wpa_supplicant/net_conf.png deleted file mode 100644 index 05f7f69b7..000000000 Binary files a/www/wpa_supplicant/net_conf.png and /dev/null differ diff --git a/www/wpa_supplicant/scan.png b/www/wpa_supplicant/scan.png deleted file mode 100644 index 41a09b1b5..000000000 Binary files a/www/wpa_supplicant/scan.png and /dev/null differ diff --git a/www/wpa_supplicant/user_input.png b/www/wpa_supplicant/user_input.png deleted file mode 100644 index f624fa5e6..000000000 Binary files a/www/wpa_supplicant/user_input.png and /dev/null differ diff --git a/www/wpa_supplicant/wpa_gui.html b/www/wpa_supplicant/wpa_gui.html deleted file mode 100644 index f2eb0011e..000000000 --- a/www/wpa_supplicant/wpa_gui.html +++ /dev/null @@ -1,36 +0,0 @@ - - - wpa_gui screenshots - - - -

wpa_gui screenshots

- -

Main window

- - - -

Scan results

- - - -

Network configuration (new network from scan results)

- - - -

Event history

- - - -

User input for authentication credentials

- - - -
-
Jouni Malinen
- - -Last modified: Thu Mar 8 19:44:46 PST 2007 - - -