xref: /freebsd/contrib/wpa/wpa_supplicant/wpa_supplicant.conf (revision 39beb93c3f8bdbf72a61fda42300b5ebed7390c8)
139beb93cSSam Leffler##### Example wpa_supplicant configuration file ###############################
239beb93cSSam Leffler#
339beb93cSSam Leffler# This file describes configuration file format and lists all available option.
439beb93cSSam Leffler# Please also take a look at simpler configuration examples in 'examples'
539beb93cSSam Leffler# subdirectory.
639beb93cSSam Leffler#
739beb93cSSam Leffler# Empty lines and lines starting with # are ignored
839beb93cSSam Leffler
939beb93cSSam Leffler# NOTE! This file may contain password information and should probably be made
1039beb93cSSam Leffler# readable only by root user on multiuser systems.
1139beb93cSSam Leffler
1239beb93cSSam Leffler# Note: All file paths in this configuration file should use full (absolute,
1339beb93cSSam Leffler# not relative to working directory) path in order to allow working directory
1439beb93cSSam Leffler# to be changed. This can happen if wpa_supplicant is run in the background.
1539beb93cSSam Leffler
1639beb93cSSam Leffler# Whether to allow wpa_supplicant to update (overwrite) configuration
1739beb93cSSam Leffler#
1839beb93cSSam Leffler# This option can be used to allow wpa_supplicant to overwrite configuration
1939beb93cSSam Leffler# file whenever configuration is changed (e.g., new network block is added with
2039beb93cSSam Leffler# wpa_cli or wpa_gui, or a password is changed). This is required for
2139beb93cSSam Leffler# wpa_cli/wpa_gui to be able to store the configuration changes permanently.
2239beb93cSSam Leffler# Please note that overwriting configuration file will remove the comments from
2339beb93cSSam Leffler# it.
2439beb93cSSam Leffler#update_config=1
2539beb93cSSam Leffler
2639beb93cSSam Leffler# global configuration (shared by all network blocks)
2739beb93cSSam Leffler#
2839beb93cSSam Leffler# Parameters for the control interface. If this is specified, wpa_supplicant
2939beb93cSSam Leffler# will open a control interface that is available for external programs to
3039beb93cSSam Leffler# manage wpa_supplicant. The meaning of this string depends on which control
3139beb93cSSam Leffler# interface mechanism is used. For all cases, the existance of this parameter
3239beb93cSSam Leffler# in configuration is used to determine whether the control interface is
3339beb93cSSam Leffler# enabled.
3439beb93cSSam Leffler#
3539beb93cSSam Leffler# For UNIX domain sockets (default on Linux and BSD): This is a directory that
3639beb93cSSam Leffler# will be created for UNIX domain sockets for listening to requests from
3739beb93cSSam Leffler# external programs (CLI/GUI, etc.) for status information and configuration.
3839beb93cSSam Leffler# The socket file will be named based on the interface name, so multiple
3939beb93cSSam Leffler# wpa_supplicant processes can be run at the same time if more than one
4039beb93cSSam Leffler# interface is used.
4139beb93cSSam Leffler# /var/run/wpa_supplicant is the recommended directory for sockets and by
4239beb93cSSam Leffler# default, wpa_cli will use it when trying to connect with wpa_supplicant.
4339beb93cSSam Leffler#
4439beb93cSSam Leffler# Access control for the control interface can be configured by setting the
4539beb93cSSam Leffler# directory to allow only members of a group to use sockets. This way, it is
4639beb93cSSam Leffler# possible to run wpa_supplicant as root (since it needs to change network
4739beb93cSSam Leffler# configuration and open raw sockets) and still allow GUI/CLI components to be
4839beb93cSSam Leffler# run as non-root users. However, since the control interface can be used to
4939beb93cSSam Leffler# change the network configuration, this access needs to be protected in many
5039beb93cSSam Leffler# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
5139beb93cSSam Leffler# want to allow non-root users to use the control interface, add a new group
5239beb93cSSam Leffler# and change this value to match with that group. Add users that should have
5339beb93cSSam Leffler# control interface access to this group. If this variable is commented out or
5439beb93cSSam Leffler# not included in the configuration file, group will not be changed from the
5539beb93cSSam Leffler# value it got by default when the directory or socket was created.
5639beb93cSSam Leffler#
5739beb93cSSam Leffler# When configuring both the directory and group, use following format:
5839beb93cSSam Leffler# DIR=/var/run/wpa_supplicant GROUP=wheel
5939beb93cSSam Leffler# DIR=/var/run/wpa_supplicant GROUP=0
6039beb93cSSam Leffler# (group can be either group name or gid)
6139beb93cSSam Leffler#
6239beb93cSSam Leffler# For UDP connections (default on Windows): The value will be ignored. This
6339beb93cSSam Leffler# variable is just used to select that the control interface is to be created.
6439beb93cSSam Leffler# The value can be set to, e.g., udp (ctrl_interface=udp)
6539beb93cSSam Leffler#
6639beb93cSSam Leffler# For Windows Named Pipe: This value can be used to set the security descriptor
6739beb93cSSam Leffler# for controlling access to the control interface. Security descriptor can be
6839beb93cSSam Leffler# set using Security Descriptor String Format (see http://msdn.microsoft.com/
6939beb93cSSam Leffler# library/default.asp?url=/library/en-us/secauthz/security/
7039beb93cSSam Leffler# security_descriptor_string_format.asp). The descriptor string needs to be
7139beb93cSSam Leffler# prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty
7239beb93cSSam Leffler# DACL (which will reject all connections). See README-Windows.txt for more
7339beb93cSSam Leffler# information about SDDL string format.
7439beb93cSSam Leffler#
7539beb93cSSam Lefflerctrl_interface=/var/run/wpa_supplicant
7639beb93cSSam Leffler
7739beb93cSSam Leffler# IEEE 802.1X/EAPOL version
7839beb93cSSam Leffler# wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines
7939beb93cSSam Leffler# EAPOL version 2. However, there are many APs that do not handle the new
8039beb93cSSam Leffler# version number correctly (they seem to drop the frames completely). In order
8139beb93cSSam Leffler# to make wpa_supplicant interoperate with these APs, the version number is set
8239beb93cSSam Leffler# to 1 by default. This configuration value can be used to set it to the new
8339beb93cSSam Leffler# version (2).
8439beb93cSSam Lefflereapol_version=1
8539beb93cSSam Leffler
8639beb93cSSam Leffler# AP scanning/selection
8739beb93cSSam Leffler# By default, wpa_supplicant requests driver to perform AP scanning and then
8839beb93cSSam Leffler# uses the scan results to select a suitable AP. Another alternative is to
8939beb93cSSam Leffler# allow the driver to take care of AP scanning and selection and use
9039beb93cSSam Leffler# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
9139beb93cSSam Leffler# information from the driver.
9239beb93cSSam Leffler# 1: wpa_supplicant initiates scanning and AP selection
9339beb93cSSam Leffler# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
9439beb93cSSam Leffler#    parameters (e.g., WPA IE generation); this mode can also be used with
9539beb93cSSam Leffler#    non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
9639beb93cSSam Leffler#    APs (i.e., external program needs to control association). This mode must
9739beb93cSSam Leffler#    also be used when using wired Ethernet drivers.
9839beb93cSSam Leffler# 2: like 0, but associate with APs using security policy and SSID (but not
9939beb93cSSam Leffler#    BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to
10039beb93cSSam Leffler#    enable operation with hidden SSIDs and optimized roaming; in this mode,
10139beb93cSSam Leffler#    the network blocks in the configuration file are tried one by one until
10239beb93cSSam Leffler#    the driver reports successful association; each network block should have
10339beb93cSSam Leffler#    explicit security policy (i.e., only one option in the lists) for
10439beb93cSSam Leffler#    key_mgmt, pairwise, group, proto variables
10539beb93cSSam Lefflerap_scan=1
10639beb93cSSam Leffler
10739beb93cSSam Leffler# EAP fast re-authentication
10839beb93cSSam Leffler# By default, fast re-authentication is enabled for all EAP methods that
10939beb93cSSam Leffler# support it. This variable can be used to disable fast re-authentication.
11039beb93cSSam Leffler# Normally, there is no need to disable this.
11139beb93cSSam Lefflerfast_reauth=1
11239beb93cSSam Leffler
11339beb93cSSam Leffler# OpenSSL Engine support
11439beb93cSSam Leffler# These options can be used to load OpenSSL engines.
11539beb93cSSam Leffler# The two engines that are supported currently are shown below:
11639beb93cSSam Leffler# They are both from the opensc project (http://www.opensc.org/)
11739beb93cSSam Leffler# By default no engines are loaded.
11839beb93cSSam Leffler# make the opensc engine available
11939beb93cSSam Leffler#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
12039beb93cSSam Leffler# make the pkcs11 engine available
12139beb93cSSam Leffler#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
12239beb93cSSam Leffler# configure the path to the pkcs11 module required by the pkcs11 engine
12339beb93cSSam Leffler#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
12439beb93cSSam Leffler
12539beb93cSSam Leffler# Dynamic EAP methods
12639beb93cSSam Leffler# If EAP methods were built dynamically as shared object files, they need to be
12739beb93cSSam Leffler# loaded here before being used in the network blocks. By default, EAP methods
12839beb93cSSam Leffler# are included statically in the build, so these lines are not needed
12939beb93cSSam Leffler#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
13039beb93cSSam Leffler#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
13139beb93cSSam Leffler
13239beb93cSSam Leffler# Driver interface parameters
13339beb93cSSam Leffler# This field can be used to configure arbitrary driver interace parameters. The
13439beb93cSSam Leffler# format is specific to the selected driver interface. This field is not used
13539beb93cSSam Leffler# in most cases.
13639beb93cSSam Leffler#driver_param="field=value"
13739beb93cSSam Leffler
13839beb93cSSam Leffler# Country code
13939beb93cSSam Leffler# The ISO/IEC alpha2 country code for the country in which this device is
14039beb93cSSam Leffler# currently operating.
14139beb93cSSam Leffler#country=US
14239beb93cSSam Leffler
14339beb93cSSam Leffler# Maximum lifetime for PMKSA in seconds; default 43200
14439beb93cSSam Leffler#dot11RSNAConfigPMKLifetime=43200
14539beb93cSSam Leffler# Threshold for reauthentication (percentage of PMK lifetime); default 70
14639beb93cSSam Leffler#dot11RSNAConfigPMKReauthThreshold=70
14739beb93cSSam Leffler# Timeout for security association negotiation in seconds; default 60
14839beb93cSSam Leffler#dot11RSNAConfigSATimeout=60
14939beb93cSSam Leffler
15039beb93cSSam Leffler# Wi-Fi Protected Setup (WPS) parameters
15139beb93cSSam Leffler
15239beb93cSSam Leffler# Universally Unique IDentifier (UUID; see RFC 4122) of the device
15339beb93cSSam Leffler# If not configured, UUID will be generated based on the local MAC address.
15439beb93cSSam Leffler#uuid=12345678-9abc-def0-1234-56789abcdef0
15539beb93cSSam Leffler
15639beb93cSSam Leffler# Device Name
15739beb93cSSam Leffler# User-friendly description of device; up to 32 octets encoded in UTF-8
15839beb93cSSam Leffler#device_name=Wireless Client
15939beb93cSSam Leffler
16039beb93cSSam Leffler# Manufacturer
16139beb93cSSam Leffler# The manufacturer of the device (up to 64 ASCII characters)
16239beb93cSSam Leffler#manufacturer=Company
16339beb93cSSam Leffler
16439beb93cSSam Leffler# Model Name
16539beb93cSSam Leffler# Model of the device (up to 32 ASCII characters)
16639beb93cSSam Leffler#model_name=cmodel
16739beb93cSSam Leffler
16839beb93cSSam Leffler# Model Number
16939beb93cSSam Leffler# Additional device description (up to 32 ASCII characters)
17039beb93cSSam Leffler#model_number=123
17139beb93cSSam Leffler
17239beb93cSSam Leffler# Serial Number
17339beb93cSSam Leffler# Serial number of the device (up to 32 characters)
17439beb93cSSam Leffler#serial_number=12345
17539beb93cSSam Leffler
17639beb93cSSam Leffler# Primary Device Type
17739beb93cSSam Leffler# Used format: <categ>-<OUI>-<subcateg>
17839beb93cSSam Leffler# categ = Category as an integer value
17939beb93cSSam Leffler# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
18039beb93cSSam Leffler#       default WPS OUI
18139beb93cSSam Leffler# subcateg = OUI-specific Sub Category as an integer value
18239beb93cSSam Leffler# Examples:
18339beb93cSSam Leffler#   1-0050F204-1 (Computer / PC)
18439beb93cSSam Leffler#   1-0050F204-2 (Computer / Server)
18539beb93cSSam Leffler#   5-0050F204-1 (Storage / NAS)
18639beb93cSSam Leffler#   6-0050F204-1 (Network Infrastructure / AP)
18739beb93cSSam Leffler#device_type=1-0050F204-1
18839beb93cSSam Leffler
18939beb93cSSam Leffler# OS Version
19039beb93cSSam Leffler# 4-octet operating system version number (hex string)
19139beb93cSSam Leffler#os_version=01020300
19239beb93cSSam Leffler
19339beb93cSSam Leffler# Credential processing
19439beb93cSSam Leffler#   0 = process received credentials internally (default)
19539beb93cSSam Leffler#   1 = do not process received credentials; just pass them over ctrl_iface to
19639beb93cSSam Leffler#	external program(s)
19739beb93cSSam Leffler#   2 = process received credentials internally and pass them over ctrl_iface
19839beb93cSSam Leffler#	to external program(s)
19939beb93cSSam Leffler#wps_cred_processing=0
20039beb93cSSam Leffler
20139beb93cSSam Leffler# network block
20239beb93cSSam Leffler#
20339beb93cSSam Leffler# Each network (usually AP's sharing the same SSID) is configured as a separate
20439beb93cSSam Leffler# block in this configuration file. The network blocks are in preference order
20539beb93cSSam Leffler# (the first match is used).
20639beb93cSSam Leffler#
20739beb93cSSam Leffler# network block fields:
20839beb93cSSam Leffler#
20939beb93cSSam Leffler# disabled:
21039beb93cSSam Leffler#	0 = this network can be used (default)
21139beb93cSSam Leffler#	1 = this network block is disabled (can be enabled through ctrl_iface,
21239beb93cSSam Leffler#	    e.g., with wpa_cli or wpa_gui)
21339beb93cSSam Leffler#
21439beb93cSSam Leffler# id_str: Network identifier string for external scripts. This value is passed
21539beb93cSSam Leffler#	to external action script through wpa_cli as WPA_ID_STR environment
21639beb93cSSam Leffler#	variable to make it easier to do network specific configuration.
21739beb93cSSam Leffler#
21839beb93cSSam Leffler# ssid: SSID (mandatory); either as an ASCII string with double quotation or
21939beb93cSSam Leffler#	as hex string; network name
22039beb93cSSam Leffler#
22139beb93cSSam Leffler# scan_ssid:
22239beb93cSSam Leffler#	0 = do not scan this SSID with specific Probe Request frames (default)
22339beb93cSSam Leffler#	1 = scan with SSID-specific Probe Request frames (this can be used to
22439beb93cSSam Leffler#	    find APs that do not accept broadcast SSID or use multiple SSIDs;
22539beb93cSSam Leffler#	    this will add latency to scanning, so enable this only when needed)
22639beb93cSSam Leffler#
22739beb93cSSam Leffler# bssid: BSSID (optional); if set, this network block is used only when
22839beb93cSSam Leffler#	associating with the AP using the configured BSSID
22939beb93cSSam Leffler#
23039beb93cSSam Leffler# priority: priority group (integer)
23139beb93cSSam Leffler# By default, all networks will get same priority group (0). If some of the
23239beb93cSSam Leffler# networks are more desirable, this field can be used to change the order in
23339beb93cSSam Leffler# which wpa_supplicant goes through the networks when selecting a BSS. The
23439beb93cSSam Leffler# priority groups will be iterated in decreasing priority (i.e., the larger the
23539beb93cSSam Leffler# priority value, the sooner the network is matched against the scan results).
23639beb93cSSam Leffler# Within each priority group, networks will be selected based on security
23739beb93cSSam Leffler# policy, signal strength, etc.
23839beb93cSSam Leffler# Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not
23939beb93cSSam Leffler# using this priority to select the order for scanning. Instead, they try the
24039beb93cSSam Leffler# networks in the order that used in the configuration file.
24139beb93cSSam Leffler#
24239beb93cSSam Leffler# mode: IEEE 802.11 operation mode
24339beb93cSSam Leffler# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
24439beb93cSSam Leffler# 1 = IBSS (ad-hoc, peer-to-peer)
24539beb93cSSam Leffler# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
24639beb93cSSam Leffler# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
24739beb93cSSam Leffler# to be set to 2 for IBSS. WPA-None requires following network block options:
24839beb93cSSam Leffler# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
24939beb93cSSam Leffler# both), and psk must also be set.
25039beb93cSSam Leffler#
25139beb93cSSam Leffler# frequency: Channel frequency in megahertz (MHz) for IBSS, e.g.,
25239beb93cSSam Leffler# 2412 = IEEE 802.11b/g channel 1. This value is used to configure the initial
25339beb93cSSam Leffler# channel for IBSS (adhoc) networks. It is ignored in the infrastructure mode.
25439beb93cSSam Leffler# In addition, this value is only used by the station that creates the IBSS. If
25539beb93cSSam Leffler# an IBSS network with the configured SSID is already present, the frequency of
25639beb93cSSam Leffler# the network will be used instead of this configured value.
25739beb93cSSam Leffler#
25839beb93cSSam Leffler# proto: list of accepted protocols
25939beb93cSSam Leffler# WPA = WPA/IEEE 802.11i/D3.0
26039beb93cSSam Leffler# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
26139beb93cSSam Leffler# If not set, this defaults to: WPA RSN
26239beb93cSSam Leffler#
26339beb93cSSam Leffler# key_mgmt: list of accepted authenticated key management protocols
26439beb93cSSam Leffler# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
26539beb93cSSam Leffler# WPA-EAP = WPA using EAP authentication
26639beb93cSSam Leffler# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
26739beb93cSSam Leffler#	generated WEP keys
26839beb93cSSam Leffler# NONE = WPA is not used; plaintext or static WEP could be used
26939beb93cSSam Leffler# WPA-PSK-SHA256 = Like WPA-PSK but using stronger SHA256-based algorithms
27039beb93cSSam Leffler# WPA-EAP-SHA256 = Like WPA-EAP but using stronger SHA256-based algorithms
27139beb93cSSam Leffler# If not set, this defaults to: WPA-PSK WPA-EAP
27239beb93cSSam Leffler#
27339beb93cSSam Leffler# auth_alg: list of allowed IEEE 802.11 authentication algorithms
27439beb93cSSam Leffler# OPEN = Open System authentication (required for WPA/WPA2)
27539beb93cSSam Leffler# SHARED = Shared Key authentication (requires static WEP keys)
27639beb93cSSam Leffler# LEAP = LEAP/Network EAP (only used with LEAP)
27739beb93cSSam Leffler# If not set, automatic selection is used (Open System with LEAP enabled if
27839beb93cSSam Leffler# LEAP is allowed as one of the EAP methods).
27939beb93cSSam Leffler#
28039beb93cSSam Leffler# pairwise: list of accepted pairwise (unicast) ciphers for WPA
28139beb93cSSam Leffler# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
28239beb93cSSam Leffler# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
28339beb93cSSam Leffler# NONE = Use only Group Keys (deprecated, should not be included if APs support
28439beb93cSSam Leffler#	pairwise keys)
28539beb93cSSam Leffler# If not set, this defaults to: CCMP TKIP
28639beb93cSSam Leffler#
28739beb93cSSam Leffler# group: list of accepted group (broadcast/multicast) ciphers for WPA
28839beb93cSSam Leffler# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
28939beb93cSSam Leffler# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
29039beb93cSSam Leffler# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
29139beb93cSSam Leffler# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
29239beb93cSSam Leffler# If not set, this defaults to: CCMP TKIP WEP104 WEP40
29339beb93cSSam Leffler#
29439beb93cSSam Leffler# psk: WPA preshared key; 256-bit pre-shared key
29539beb93cSSam Leffler# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
29639beb93cSSam Leffler# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
29739beb93cSSam Leffler# generated using the passphrase and SSID). ASCII passphrase must be between
29839beb93cSSam Leffler# 8 and 63 characters (inclusive).
29939beb93cSSam Leffler# This field is not needed, if WPA-EAP is used.
30039beb93cSSam Leffler# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
30139beb93cSSam Leffler# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
30239beb93cSSam Leffler# startup and reconfiguration time can be optimized by generating the PSK only
30339beb93cSSam Leffler# only when the passphrase or SSID has actually changed.
30439beb93cSSam Leffler#
30539beb93cSSam Leffler# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
30639beb93cSSam Leffler# Dynamic WEP key required for non-WPA mode
30739beb93cSSam Leffler# bit0 (1): require dynamically generated unicast WEP key
30839beb93cSSam Leffler# bit1 (2): require dynamically generated broadcast WEP key
30939beb93cSSam Leffler# 	(3 = require both keys; default)
31039beb93cSSam Leffler# Note: When using wired authentication, eapol_flags must be set to 0 for the
31139beb93cSSam Leffler# authentication to be completed successfully.
31239beb93cSSam Leffler#
31339beb93cSSam Leffler# mixed_cell: This option can be used to configure whether so called mixed
31439beb93cSSam Leffler# cells, i.e., networks that use both plaintext and encryption in the same
31539beb93cSSam Leffler# SSID, are allowed when selecting a BSS form scan results.
31639beb93cSSam Leffler# 0 = disabled (default)
31739beb93cSSam Leffler# 1 = enabled
31839beb93cSSam Leffler#
31939beb93cSSam Leffler# proactive_key_caching:
32039beb93cSSam Leffler# Enable/disable opportunistic PMKSA caching for WPA2.
32139beb93cSSam Leffler# 0 = disabled (default)
32239beb93cSSam Leffler# 1 = enabled
32339beb93cSSam Leffler#
32439beb93cSSam Leffler# wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or
32539beb93cSSam Leffler# hex without quotation, e.g., 0102030405)
32639beb93cSSam Leffler# wep_tx_keyidx: Default WEP key index (TX) (0..3)
32739beb93cSSam Leffler#
32839beb93cSSam Leffler# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is
32939beb93cSSam Leffler# allowed. This is only used with RSN/WPA2.
33039beb93cSSam Leffler# 0 = disabled (default)
33139beb93cSSam Leffler# 1 = enabled
33239beb93cSSam Leffler#peerkey=1
33339beb93cSSam Leffler#
33439beb93cSSam Leffler# wpa_ptk_rekey: Maximum lifetime for PTK in seconds. This can be used to
33539beb93cSSam Leffler# enforce rekeying of PTK to mitigate some attacks against TKIP deficiencies.
33639beb93cSSam Leffler#
33739beb93cSSam Leffler# Following fields are only used with internal EAP implementation.
33839beb93cSSam Leffler# eap: space-separated list of accepted EAP methods
33939beb93cSSam Leffler#	MD5 = EAP-MD5 (unsecure and does not generate keying material ->
34039beb93cSSam Leffler#			cannot be used with WPA; to be used as a Phase 2 method
34139beb93cSSam Leffler#			with EAP-PEAP or EAP-TTLS)
34239beb93cSSam Leffler#       MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
34339beb93cSSam Leffler#		as a Phase 2 method with EAP-PEAP or EAP-TTLS)
34439beb93cSSam Leffler#       OTP = EAP-OTP (cannot be used separately with WPA; to be used
34539beb93cSSam Leffler#		as a Phase 2 method with EAP-PEAP or EAP-TTLS)
34639beb93cSSam Leffler#       GTC = EAP-GTC (cannot be used separately with WPA; to be used
34739beb93cSSam Leffler#		as a Phase 2 method with EAP-PEAP or EAP-TTLS)
34839beb93cSSam Leffler#	TLS = EAP-TLS (client and server certificate)
34939beb93cSSam Leffler#	PEAP = EAP-PEAP (with tunnelled EAP authentication)
35039beb93cSSam Leffler#	TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
35139beb93cSSam Leffler#			 authentication)
35239beb93cSSam Leffler#	If not set, all compiled in methods are allowed.
35339beb93cSSam Leffler#
35439beb93cSSam Leffler# identity: Identity string for EAP
35539beb93cSSam Leffler#	This field is also used to configure user NAI for
35639beb93cSSam Leffler#	EAP-PSK/PAX/SAKE/GPSK.
35739beb93cSSam Leffler# anonymous_identity: Anonymous identity string for EAP (to be used as the
35839beb93cSSam Leffler#	unencrypted identity with EAP types that support different tunnelled
35939beb93cSSam Leffler#	identity, e.g., EAP-TTLS)
36039beb93cSSam Leffler# password: Password string for EAP. This field can include either the
36139beb93cSSam Leffler#	plaintext password (using ASCII or hex string) or a NtPasswordHash
36239beb93cSSam Leffler#	(16-byte MD4 hash of password) in hash:<32 hex digits> format.
36339beb93cSSam Leffler#	NtPasswordHash can only be used when the password is for MSCHAPv2 or
36439beb93cSSam Leffler#	MSCHAP (EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP).
36539beb93cSSam Leffler#	EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), and EAP-SAKE (256-bit
36639beb93cSSam Leffler#	PSK) is also configured using this field. For EAP-GPSK, this is a
36739beb93cSSam Leffler#	variable length PSK.
36839beb93cSSam Leffler# ca_cert: File path to CA certificate file (PEM/DER). This file can have one
36939beb93cSSam Leffler#	or more trusted CA certificates. If ca_cert and ca_path are not
37039beb93cSSam Leffler#	included, server certificate will not be verified. This is insecure and
37139beb93cSSam Leffler#	a trusted CA certificate should always be configured when using
37239beb93cSSam Leffler#	EAP-TLS/TTLS/PEAP. Full path should be used since working directory may
37339beb93cSSam Leffler#	change when wpa_supplicant is run in the background.
37439beb93cSSam Leffler#	On Windows, trusted CA certificates can be loaded from the system
37539beb93cSSam Leffler#	certificate store by setting this to cert_store://<name>, e.g.,
37639beb93cSSam Leffler#	ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
37739beb93cSSam Leffler#	Note that when running wpa_supplicant as an application, the user
37839beb93cSSam Leffler#	certificate store (My user account) is used, whereas computer store
37939beb93cSSam Leffler#	(Computer account) is used when running wpasvc as a service.
38039beb93cSSam Leffler# ca_path: Directory path for CA certificate files (PEM). This path may
38139beb93cSSam Leffler#	contain multiple CA certificates in OpenSSL format. Common use for this
38239beb93cSSam Leffler#	is to point to system trusted CA list which is often installed into
38339beb93cSSam Leffler#	directory like /etc/ssl/certs. If configured, these certificates are
38439beb93cSSam Leffler#	added to the list of trusted CAs. ca_cert may also be included in that
38539beb93cSSam Leffler#	case, but it is not required.
38639beb93cSSam Leffler# client_cert: File path to client certificate file (PEM/DER)
38739beb93cSSam Leffler#	Full path should be used since working directory may change when
38839beb93cSSam Leffler#	wpa_supplicant is run in the background.
38939beb93cSSam Leffler#	Alternatively, a named configuration blob can be used by setting this
39039beb93cSSam Leffler#	to blob://<blob name>.
39139beb93cSSam Leffler# private_key: File path to client private key file (PEM/DER/PFX)
39239beb93cSSam Leffler#	When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
39339beb93cSSam Leffler#	commented out. Both the private key and certificate will be read from
39439beb93cSSam Leffler#	the PKCS#12 file in this case. Full path should be used since working
39539beb93cSSam Leffler#	directory may change when wpa_supplicant is run in the background.
39639beb93cSSam Leffler#	Windows certificate store can be used by leaving client_cert out and
39739beb93cSSam Leffler#	configuring private_key in one of the following formats:
39839beb93cSSam Leffler#	cert://substring_to_match
39939beb93cSSam Leffler#	hash://certificate_thumbprint_in_hex
40039beb93cSSam Leffler#	for example: private_key="hash://63093aa9c47f56ae88334c7b65a4"
40139beb93cSSam Leffler#	Note that when running wpa_supplicant as an application, the user
40239beb93cSSam Leffler#	certificate store (My user account) is used, whereas computer store
40339beb93cSSam Leffler#	(Computer account) is used when running wpasvc as a service.
40439beb93cSSam Leffler#	Alternatively, a named configuration blob can be used by setting this
40539beb93cSSam Leffler#	to blob://<blob name>.
40639beb93cSSam Leffler# private_key_passwd: Password for private key file (if left out, this will be
40739beb93cSSam Leffler#	asked through control interface)
40839beb93cSSam Leffler# dh_file: File path to DH/DSA parameters file (in PEM format)
40939beb93cSSam Leffler#	This is an optional configuration file for setting parameters for an
41039beb93cSSam Leffler#	ephemeral DH key exchange. In most cases, the default RSA
41139beb93cSSam Leffler#	authentication does not use this configuration. However, it is possible
41239beb93cSSam Leffler#	setup RSA to use ephemeral DH key exchange. In addition, ciphers with
41339beb93cSSam Leffler#	DSA keys always use ephemeral DH keys. This can be used to achieve
41439beb93cSSam Leffler#	forward secrecy. If the file is in DSA parameters format, it will be
41539beb93cSSam Leffler#	automatically converted into DH params.
41639beb93cSSam Leffler# subject_match: Substring to be matched against the subject of the
41739beb93cSSam Leffler#	authentication server certificate. If this string is set, the server
41839beb93cSSam Leffler#	sertificate is only accepted if it contains this string in the subject.
41939beb93cSSam Leffler#	The subject string is in following format:
42039beb93cSSam Leffler#	/C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
42139beb93cSSam Leffler# altsubject_match: Semicolon separated string of entries to be matched against
42239beb93cSSam Leffler#	the alternative subject name of the authentication server certificate.
42339beb93cSSam Leffler#	If this string is set, the server sertificate is only accepted if it
42439beb93cSSam Leffler#	contains one of the entries in an alternative subject name extension.
42539beb93cSSam Leffler#	altSubjectName string is in following format: TYPE:VALUE
42639beb93cSSam Leffler#	Example: EMAIL:server@example.com
42739beb93cSSam Leffler#	Example: DNS:server.example.com;DNS:server2.example.com
42839beb93cSSam Leffler#	Following types are supported: EMAIL, DNS, URI
42939beb93cSSam Leffler# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
43039beb93cSSam Leffler#	(string with field-value pairs, e.g., "peapver=0" or
43139beb93cSSam Leffler#	"peapver=1 peaplabel=1")
43239beb93cSSam Leffler#	'peapver' can be used to force which PEAP version (0 or 1) is used.
43339beb93cSSam Leffler#	'peaplabel=1' can be used to force new label, "client PEAP encryption",
43439beb93cSSam Leffler#	to be used during key derivation when PEAPv1 or newer. Most existing
43539beb93cSSam Leffler#	PEAPv1 implementation seem to be using the old label, "client EAP
43639beb93cSSam Leffler#	encryption", and wpa_supplicant is now using that as the default value.
43739beb93cSSam Leffler#	Some servers, e.g., Radiator, may require peaplabel=1 configuration to
43839beb93cSSam Leffler#	interoperate with PEAPv1; see eap_testing.txt for more details.
43939beb93cSSam Leffler#	'peap_outer_success=0' can be used to terminate PEAP authentication on
44039beb93cSSam Leffler#	tunneled EAP-Success. This is required with some RADIUS servers that
44139beb93cSSam Leffler#	implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
44239beb93cSSam Leffler#	Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
44339beb93cSSam Leffler#	include_tls_length=1 can be used to force wpa_supplicant to include
44439beb93cSSam Leffler#	TLS Message Length field in all TLS messages even if they are not
44539beb93cSSam Leffler#	fragmented.
44639beb93cSSam Leffler#	sim_min_num_chal=3 can be used to configure EAP-SIM to require three
44739beb93cSSam Leffler#	challenges (by default, it accepts 2 or 3)
44839beb93cSSam Leffler#	result_ind=1 can be used to enable EAP-SIM and EAP-AKA to use
44939beb93cSSam Leffler#	protected result indication.
45039beb93cSSam Leffler#	'crypto_binding' option can be used to control PEAPv0 cryptobinding
45139beb93cSSam Leffler#	behavior:
45239beb93cSSam Leffler#	 * 0 = do not use cryptobinding (default)
45339beb93cSSam Leffler#	 * 1 = use cryptobinding if server supports it
45439beb93cSSam Leffler#	 * 2 = require cryptobinding
45539beb93cSSam Leffler#	EAP-WSC (WPS) uses following options: pin=<Device Password> or
45639beb93cSSam Leffler#	pbc=1.
45739beb93cSSam Leffler# phase2: Phase2 (inner authentication with TLS tunnel) parameters
45839beb93cSSam Leffler#	(string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
45939beb93cSSam Leffler#	"autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
46039beb93cSSam Leffler# Following certificate/private key fields are used in inner Phase2
46139beb93cSSam Leffler# authentication when using EAP-TTLS or EAP-PEAP.
46239beb93cSSam Leffler# ca_cert2: File path to CA certificate file. This file can have one or more
46339beb93cSSam Leffler#	trusted CA certificates. If ca_cert2 and ca_path2 are not included,
46439beb93cSSam Leffler#	server certificate will not be verified. This is insecure and a trusted
46539beb93cSSam Leffler#	CA certificate should always be configured.
46639beb93cSSam Leffler# ca_path2: Directory path for CA certificate files (PEM)
46739beb93cSSam Leffler# client_cert2: File path to client certificate file
46839beb93cSSam Leffler# private_key2: File path to client private key file
46939beb93cSSam Leffler# private_key2_passwd: Password for private key file
47039beb93cSSam Leffler# dh_file2: File path to DH/DSA parameters file (in PEM format)
47139beb93cSSam Leffler# subject_match2: Substring to be matched against the subject of the
47239beb93cSSam Leffler#	authentication server certificate.
47339beb93cSSam Leffler# altsubject_match2: Substring to be matched against the alternative subject
47439beb93cSSam Leffler#	name of the authentication server certificate.
47539beb93cSSam Leffler#
47639beb93cSSam Leffler# fragment_size: Maximum EAP fragment size in bytes (default 1398).
47739beb93cSSam Leffler#	This value limits the fragment size for EAP methods that support
47839beb93cSSam Leffler#	fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set
47939beb93cSSam Leffler#	small enough to make the EAP messages fit in MTU of the network
48039beb93cSSam Leffler#	interface used for EAPOL. The default value is suitable for most
48139beb93cSSam Leffler#	cases.
48239beb93cSSam Leffler#
48339beb93cSSam Leffler# EAP-FAST variables:
48439beb93cSSam Leffler# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
48539beb93cSSam Leffler#	to create this file and write updates to it when PAC is being
48639beb93cSSam Leffler#	provisioned or refreshed. Full path to the file should be used since
48739beb93cSSam Leffler#	working directory may change when wpa_supplicant is run in the
48839beb93cSSam Leffler#	background. Alternatively, a named configuration blob can be used by
48939beb93cSSam Leffler#	setting this to blob://<blob name>
49039beb93cSSam Leffler# phase1: fast_provisioning option can be used to enable in-line provisioning
49139beb93cSSam Leffler#         of EAP-FAST credentials (PAC):
49239beb93cSSam Leffler#         0 = disabled,
49339beb93cSSam Leffler#         1 = allow unauthenticated provisioning,
49439beb93cSSam Leffler#         2 = allow authenticated provisioning,
49539beb93cSSam Leffler#         3 = allow both unauthenticated and authenticated provisioning
49639beb93cSSam Leffler#	fast_max_pac_list_len=<num> option can be used to set the maximum
49739beb93cSSam Leffler#		number of PAC entries to store in a PAC list (default: 10)
49839beb93cSSam Leffler#	fast_pac_format=binary option can be used to select binary format for
49939beb93cSSam Leffler#		storing PAC entries in order to save some space (the default
50039beb93cSSam Leffler#		text format uses about 2.5 times the size of minimal binary
50139beb93cSSam Leffler#		format)
50239beb93cSSam Leffler#
50339beb93cSSam Leffler# wpa_supplicant supports number of "EAP workarounds" to work around
50439beb93cSSam Leffler# interoperability issues with incorrectly behaving authentication servers.
50539beb93cSSam Leffler# These are enabled by default because some of the issues are present in large
50639beb93cSSam Leffler# number of authentication servers. Strict EAP conformance mode can be
50739beb93cSSam Leffler# configured by disabling workarounds with eap_workaround=0.
50839beb93cSSam Leffler
50939beb93cSSam Leffler# Example blocks:
51039beb93cSSam Leffler
51139beb93cSSam Leffler# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
51239beb93cSSam Lefflernetwork={
51339beb93cSSam Leffler	ssid="simple"
51439beb93cSSam Leffler	psk="very secret passphrase"
51539beb93cSSam Leffler	priority=5
51639beb93cSSam Leffler}
51739beb93cSSam Leffler
51839beb93cSSam Leffler# Same as previous, but request SSID-specific scanning (for APs that reject
51939beb93cSSam Leffler# broadcast SSID)
52039beb93cSSam Lefflernetwork={
52139beb93cSSam Leffler	ssid="second ssid"
52239beb93cSSam Leffler	scan_ssid=1
52339beb93cSSam Leffler	psk="very secret passphrase"
52439beb93cSSam Leffler	priority=2
52539beb93cSSam Leffler}
52639beb93cSSam Leffler
52739beb93cSSam Leffler# Only WPA-PSK is used. Any valid cipher combination is accepted.
52839beb93cSSam Lefflernetwork={
52939beb93cSSam Leffler	ssid="example"
53039beb93cSSam Leffler	proto=WPA
53139beb93cSSam Leffler	key_mgmt=WPA-PSK
53239beb93cSSam Leffler	pairwise=CCMP TKIP
53339beb93cSSam Leffler	group=CCMP TKIP WEP104 WEP40
53439beb93cSSam Leffler	psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
53539beb93cSSam Leffler	priority=2
53639beb93cSSam Leffler}
53739beb93cSSam Leffler
53839beb93cSSam Leffler# WPA-Personal(PSK) with TKIP and enforcement for frequent PTK rekeying
53939beb93cSSam Lefflernetwork={
54039beb93cSSam Leffler	ssid="example"
54139beb93cSSam Leffler	proto=WPA
54239beb93cSSam Leffler	key_mgmt=WPA-PSK
54339beb93cSSam Leffler	pairwise=TKIP
54439beb93cSSam Leffler	group=TKIP
54539beb93cSSam Leffler	psk="not so secure passphrase"
54639beb93cSSam Leffler	wpa_ptk_rekey=600
54739beb93cSSam Leffler}
54839beb93cSSam Leffler
54939beb93cSSam Leffler# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
55039beb93cSSam Leffler# or WEP40 as the group cipher will not be accepted.
55139beb93cSSam Lefflernetwork={
55239beb93cSSam Leffler	ssid="example"
55339beb93cSSam Leffler	proto=RSN
55439beb93cSSam Leffler	key_mgmt=WPA-EAP
55539beb93cSSam Leffler	pairwise=CCMP TKIP
55639beb93cSSam Leffler	group=CCMP TKIP
55739beb93cSSam Leffler	eap=TLS
55839beb93cSSam Leffler	identity="user@example.com"
55939beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
56039beb93cSSam Leffler	client_cert="/etc/cert/user.pem"
56139beb93cSSam Leffler	private_key="/etc/cert/user.prv"
56239beb93cSSam Leffler	private_key_passwd="password"
56339beb93cSSam Leffler	priority=1
56439beb93cSSam Leffler}
56539beb93cSSam Leffler
56639beb93cSSam Leffler# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
56739beb93cSSam Leffler# (e.g., Radiator)
56839beb93cSSam Lefflernetwork={
56939beb93cSSam Leffler	ssid="example"
57039beb93cSSam Leffler	key_mgmt=WPA-EAP
57139beb93cSSam Leffler	eap=PEAP
57239beb93cSSam Leffler	identity="user@example.com"
57339beb93cSSam Leffler	password="foobar"
57439beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
57539beb93cSSam Leffler	phase1="peaplabel=1"
57639beb93cSSam Leffler	phase2="auth=MSCHAPV2"
57739beb93cSSam Leffler	priority=10
57839beb93cSSam Leffler}
57939beb93cSSam Leffler
58039beb93cSSam Leffler# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
58139beb93cSSam Leffler# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
58239beb93cSSam Lefflernetwork={
58339beb93cSSam Leffler	ssid="example"
58439beb93cSSam Leffler	key_mgmt=WPA-EAP
58539beb93cSSam Leffler	eap=TTLS
58639beb93cSSam Leffler	identity="user@example.com"
58739beb93cSSam Leffler	anonymous_identity="anonymous@example.com"
58839beb93cSSam Leffler	password="foobar"
58939beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
59039beb93cSSam Leffler	priority=2
59139beb93cSSam Leffler}
59239beb93cSSam Leffler
59339beb93cSSam Leffler# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
59439beb93cSSam Leffler# use. Real identity is sent only within an encrypted TLS tunnel.
59539beb93cSSam Lefflernetwork={
59639beb93cSSam Leffler	ssid="example"
59739beb93cSSam Leffler	key_mgmt=WPA-EAP
59839beb93cSSam Leffler	eap=TTLS
59939beb93cSSam Leffler	identity="user@example.com"
60039beb93cSSam Leffler	anonymous_identity="anonymous@example.com"
60139beb93cSSam Leffler	password="foobar"
60239beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
60339beb93cSSam Leffler	phase2="auth=MSCHAPV2"
60439beb93cSSam Leffler}
60539beb93cSSam Leffler
60639beb93cSSam Leffler# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
60739beb93cSSam Leffler# authentication.
60839beb93cSSam Lefflernetwork={
60939beb93cSSam Leffler	ssid="example"
61039beb93cSSam Leffler	key_mgmt=WPA-EAP
61139beb93cSSam Leffler	eap=TTLS
61239beb93cSSam Leffler	# Phase1 / outer authentication
61339beb93cSSam Leffler	anonymous_identity="anonymous@example.com"
61439beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
61539beb93cSSam Leffler	# Phase 2 / inner authentication
61639beb93cSSam Leffler	phase2="autheap=TLS"
61739beb93cSSam Leffler	ca_cert2="/etc/cert/ca2.pem"
61839beb93cSSam Leffler	client_cert2="/etc/cer/user.pem"
61939beb93cSSam Leffler	private_key2="/etc/cer/user.prv"
62039beb93cSSam Leffler	private_key2_passwd="password"
62139beb93cSSam Leffler	priority=2
62239beb93cSSam Leffler}
62339beb93cSSam Leffler
62439beb93cSSam Leffler# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
62539beb93cSSam Leffler# group cipher.
62639beb93cSSam Lefflernetwork={
62739beb93cSSam Leffler	ssid="example"
62839beb93cSSam Leffler	bssid=00:11:22:33:44:55
62939beb93cSSam Leffler	proto=WPA RSN
63039beb93cSSam Leffler	key_mgmt=WPA-PSK WPA-EAP
63139beb93cSSam Leffler	pairwise=CCMP
63239beb93cSSam Leffler	group=CCMP
63339beb93cSSam Leffler	psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
63439beb93cSSam Leffler}
63539beb93cSSam Leffler
63639beb93cSSam Leffler# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
63739beb93cSSam Leffler# and all valid ciphers.
63839beb93cSSam Lefflernetwork={
63939beb93cSSam Leffler	ssid=00010203
64039beb93cSSam Leffler	psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
64139beb93cSSam Leffler}
64239beb93cSSam Leffler
64339beb93cSSam Leffler
64439beb93cSSam Leffler# EAP-SIM with a GSM SIM or USIM
64539beb93cSSam Lefflernetwork={
64639beb93cSSam Leffler	ssid="eap-sim-test"
64739beb93cSSam Leffler	key_mgmt=WPA-EAP
64839beb93cSSam Leffler	eap=SIM
64939beb93cSSam Leffler	pin="1234"
65039beb93cSSam Leffler	pcsc=""
65139beb93cSSam Leffler}
65239beb93cSSam Leffler
65339beb93cSSam Leffler
65439beb93cSSam Leffler# EAP-PSK
65539beb93cSSam Lefflernetwork={
65639beb93cSSam Leffler	ssid="eap-psk-test"
65739beb93cSSam Leffler	key_mgmt=WPA-EAP
65839beb93cSSam Leffler	eap=PSK
65939beb93cSSam Leffler	anonymous_identity="eap_psk_user"
66039beb93cSSam Leffler	password=06b4be19da289f475aa46a33cb793029
66139beb93cSSam Leffler	identity="eap_psk_user@example.com"
66239beb93cSSam Leffler}
66339beb93cSSam Leffler
66439beb93cSSam Leffler
66539beb93cSSam Leffler# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
66639beb93cSSam Leffler# EAP-TLS for authentication and key generation; require both unicast and
66739beb93cSSam Leffler# broadcast WEP keys.
66839beb93cSSam Lefflernetwork={
66939beb93cSSam Leffler	ssid="1x-test"
67039beb93cSSam Leffler	key_mgmt=IEEE8021X
67139beb93cSSam Leffler	eap=TLS
67239beb93cSSam Leffler	identity="user@example.com"
67339beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
67439beb93cSSam Leffler	client_cert="/etc/cert/user.pem"
67539beb93cSSam Leffler	private_key="/etc/cert/user.prv"
67639beb93cSSam Leffler	private_key_passwd="password"
67739beb93cSSam Leffler	eapol_flags=3
67839beb93cSSam Leffler}
67939beb93cSSam Leffler
68039beb93cSSam Leffler
68139beb93cSSam Leffler# LEAP with dynamic WEP keys
68239beb93cSSam Lefflernetwork={
68339beb93cSSam Leffler	ssid="leap-example"
68439beb93cSSam Leffler	key_mgmt=IEEE8021X
68539beb93cSSam Leffler	eap=LEAP
68639beb93cSSam Leffler	identity="user"
68739beb93cSSam Leffler	password="foobar"
68839beb93cSSam Leffler}
68939beb93cSSam Leffler
69039beb93cSSam Leffler# EAP-IKEv2 using shared secrets for both server and peer authentication
69139beb93cSSam Lefflernetwork={
69239beb93cSSam Leffler	ssid="ikev2-example"
69339beb93cSSam Leffler	key_mgmt=WPA-EAP
69439beb93cSSam Leffler	eap=IKEV2
69539beb93cSSam Leffler	identity="user"
69639beb93cSSam Leffler	password="foobar"
69739beb93cSSam Leffler}
69839beb93cSSam Leffler
69939beb93cSSam Leffler# EAP-FAST with WPA (WPA or WPA2)
70039beb93cSSam Lefflernetwork={
70139beb93cSSam Leffler	ssid="eap-fast-test"
70239beb93cSSam Leffler	key_mgmt=WPA-EAP
70339beb93cSSam Leffler	eap=FAST
70439beb93cSSam Leffler	anonymous_identity="FAST-000102030405"
70539beb93cSSam Leffler	identity="username"
70639beb93cSSam Leffler	password="password"
70739beb93cSSam Leffler	phase1="fast_provisioning=1"
70839beb93cSSam Leffler	pac_file="/etc/wpa_supplicant.eap-fast-pac"
70939beb93cSSam Leffler}
71039beb93cSSam Leffler
71139beb93cSSam Lefflernetwork={
71239beb93cSSam Leffler	ssid="eap-fast-test"
71339beb93cSSam Leffler	key_mgmt=WPA-EAP
71439beb93cSSam Leffler	eap=FAST
71539beb93cSSam Leffler	anonymous_identity="FAST-000102030405"
71639beb93cSSam Leffler	identity="username"
71739beb93cSSam Leffler	password="password"
71839beb93cSSam Leffler	phase1="fast_provisioning=1"
71939beb93cSSam Leffler	pac_file="blob://eap-fast-pac"
72039beb93cSSam Leffler}
72139beb93cSSam Leffler
72239beb93cSSam Leffler# Plaintext connection (no WPA, no IEEE 802.1X)
72339beb93cSSam Lefflernetwork={
72439beb93cSSam Leffler	ssid="plaintext-test"
72539beb93cSSam Leffler	key_mgmt=NONE
72639beb93cSSam Leffler}
72739beb93cSSam Leffler
72839beb93cSSam Leffler
72939beb93cSSam Leffler# Shared WEP key connection (no WPA, no IEEE 802.1X)
73039beb93cSSam Lefflernetwork={
73139beb93cSSam Leffler	ssid="static-wep-test"
73239beb93cSSam Leffler	key_mgmt=NONE
73339beb93cSSam Leffler	wep_key0="abcde"
73439beb93cSSam Leffler	wep_key1=0102030405
73539beb93cSSam Leffler	wep_key2="1234567890123"
73639beb93cSSam Leffler	wep_tx_keyidx=0
73739beb93cSSam Leffler	priority=5
73839beb93cSSam Leffler}
73939beb93cSSam Leffler
74039beb93cSSam Leffler
74139beb93cSSam Leffler# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
74239beb93cSSam Leffler# IEEE 802.11 authentication
74339beb93cSSam Lefflernetwork={
74439beb93cSSam Leffler	ssid="static-wep-test2"
74539beb93cSSam Leffler	key_mgmt=NONE
74639beb93cSSam Leffler	wep_key0="abcde"
74739beb93cSSam Leffler	wep_key1=0102030405
74839beb93cSSam Leffler	wep_key2="1234567890123"
74939beb93cSSam Leffler	wep_tx_keyidx=0
75039beb93cSSam Leffler	priority=5
75139beb93cSSam Leffler	auth_alg=SHARED
75239beb93cSSam Leffler}
75339beb93cSSam Leffler
75439beb93cSSam Leffler
75539beb93cSSam Leffler# IBSS/ad-hoc network with WPA-None/TKIP.
75639beb93cSSam Lefflernetwork={
75739beb93cSSam Leffler	ssid="test adhoc"
75839beb93cSSam Leffler	mode=1
75939beb93cSSam Leffler	frequency=2412
76039beb93cSSam Leffler	proto=WPA
76139beb93cSSam Leffler	key_mgmt=WPA-NONE
76239beb93cSSam Leffler	pairwise=NONE
76339beb93cSSam Leffler	group=TKIP
76439beb93cSSam Leffler	psk="secret passphrase"
76539beb93cSSam Leffler}
76639beb93cSSam Leffler
76739beb93cSSam Leffler
76839beb93cSSam Leffler# Catch all example that allows more or less all configuration modes
76939beb93cSSam Lefflernetwork={
77039beb93cSSam Leffler	ssid="example"
77139beb93cSSam Leffler	scan_ssid=1
77239beb93cSSam Leffler	key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
77339beb93cSSam Leffler	pairwise=CCMP TKIP
77439beb93cSSam Leffler	group=CCMP TKIP WEP104 WEP40
77539beb93cSSam Leffler	psk="very secret passphrase"
77639beb93cSSam Leffler	eap=TTLS PEAP TLS
77739beb93cSSam Leffler	identity="user@example.com"
77839beb93cSSam Leffler	password="foobar"
77939beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
78039beb93cSSam Leffler	client_cert="/etc/cert/user.pem"
78139beb93cSSam Leffler	private_key="/etc/cert/user.prv"
78239beb93cSSam Leffler	private_key_passwd="password"
78339beb93cSSam Leffler	phase1="peaplabel=0"
78439beb93cSSam Leffler}
78539beb93cSSam Leffler
78639beb93cSSam Leffler# Example of EAP-TLS with smartcard (openssl engine)
78739beb93cSSam Lefflernetwork={
78839beb93cSSam Leffler	ssid="example"
78939beb93cSSam Leffler	key_mgmt=WPA-EAP
79039beb93cSSam Leffler	eap=TLS
79139beb93cSSam Leffler	proto=RSN
79239beb93cSSam Leffler	pairwise=CCMP TKIP
79339beb93cSSam Leffler	group=CCMP TKIP
79439beb93cSSam Leffler	identity="user@example.com"
79539beb93cSSam Leffler	ca_cert="/etc/cert/ca.pem"
79639beb93cSSam Leffler	client_cert="/etc/cert/user.pem"
79739beb93cSSam Leffler
79839beb93cSSam Leffler	engine=1
79939beb93cSSam Leffler
80039beb93cSSam Leffler	# The engine configured here must be available. Look at
80139beb93cSSam Leffler	# OpenSSL engine support in the global section.
80239beb93cSSam Leffler	# The key available through the engine must be the private key
80339beb93cSSam Leffler	# matching the client certificate configured above.
80439beb93cSSam Leffler
80539beb93cSSam Leffler	# use the opensc engine
80639beb93cSSam Leffler	#engine_id="opensc"
80739beb93cSSam Leffler	#key_id="45"
80839beb93cSSam Leffler
80939beb93cSSam Leffler	# use the pkcs11 engine
81039beb93cSSam Leffler	engine_id="pkcs11"
81139beb93cSSam Leffler	key_id="id_45"
81239beb93cSSam Leffler
81339beb93cSSam Leffler	# Optional PIN configuration; this can be left out and PIN will be
81439beb93cSSam Leffler	# asked through the control interface
81539beb93cSSam Leffler	pin="1234"
81639beb93cSSam Leffler}
81739beb93cSSam Leffler
81839beb93cSSam Leffler# Example configuration showing how to use an inlined blob as a CA certificate
81939beb93cSSam Leffler# data instead of using external file
82039beb93cSSam Lefflernetwork={
82139beb93cSSam Leffler	ssid="example"
82239beb93cSSam Leffler	key_mgmt=WPA-EAP
82339beb93cSSam Leffler	eap=TTLS
82439beb93cSSam Leffler	identity="user@example.com"
82539beb93cSSam Leffler	anonymous_identity="anonymous@example.com"
82639beb93cSSam Leffler	password="foobar"
82739beb93cSSam Leffler	ca_cert="blob://exampleblob"
82839beb93cSSam Leffler	priority=20
82939beb93cSSam Leffler}
83039beb93cSSam Leffler
83139beb93cSSam Lefflerblob-base64-exampleblob={
83239beb93cSSam LefflerSGVsbG8gV29ybGQhCg==
83339beb93cSSam Leffler}
83439beb93cSSam Leffler
83539beb93cSSam Leffler
83639beb93cSSam Leffler# Wildcard match for SSID (plaintext APs only). This example select any
83739beb93cSSam Leffler# open AP regardless of its SSID.
83839beb93cSSam Lefflernetwork={
83939beb93cSSam Leffler	key_mgmt=NONE
84039beb93cSSam Leffler}
841