]> git.ipfire.org Git - thirdparty/hostap.git/blame - wpa_supplicant/wpa_supplicant.conf
Re-initialize hostapd/wpa_supplicant git repository based on 0.6.3 release
[thirdparty/hostap.git] / wpa_supplicant / wpa_supplicant.conf
CommitLineData
6fc6879b
JM
1##### Example wpa_supplicant configuration file ###############################
2#
3# This file describes configuration file format and lists all available option.
4# Please also take a look at simpler configuration examples in 'examples'
5# subdirectory.
6#
7# Empty lines and lines starting with # are ignored
8
9# NOTE! This file may contain password information and should probably be made
10# readable only by root user on multiuser systems.
11
12# Note: All file paths in this configuration file should use full (absolute,
13# not relative to working directory) path in order to allow working directory
14# to be changed. This can happen if wpa_supplicant is run in the background.
15
16# Whether to allow wpa_supplicant to update (overwrite) configuration
17#
18# This option can be used to allow wpa_supplicant to overwrite configuration
19# file whenever configuration is changed (e.g., new network block is added with
20# wpa_cli or wpa_gui, or a password is changed). This is required for
21# wpa_cli/wpa_gui to be able to store the configuration changes permanently.
22# Please note that overwriting configuration file will remove the comments from
23# it.
24#update_config=1
25
26# global configuration (shared by all network blocks)
27#
28# Parameters for the control interface. If this is specified, wpa_supplicant
29# will open a control interface that is available for external programs to
30# manage wpa_supplicant. The meaning of this string depends on which control
31# interface mechanism is used. For all cases, the existance of this parameter
32# in configuration is used to determine whether the control interface is
33# enabled.
34#
35# For UNIX domain sockets (default on Linux and BSD): This is a directory that
36# will be created for UNIX domain sockets for listening to requests from
37# external programs (CLI/GUI, etc.) for status information and configuration.
38# The socket file will be named based on the interface name, so multiple
39# wpa_supplicant processes can be run at the same time if more than one
40# interface is used.
41# /var/run/wpa_supplicant is the recommended directory for sockets and by
42# default, wpa_cli will use it when trying to connect with wpa_supplicant.
43#
44# Access control for the control interface can be configured by setting the
45# directory to allow only members of a group to use sockets. This way, it is
46# possible to run wpa_supplicant as root (since it needs to change network
47# configuration and open raw sockets) and still allow GUI/CLI components to be
48# run as non-root users. However, since the control interface can be used to
49# change the network configuration, this access needs to be protected in many
50# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
51# want to allow non-root users to use the control interface, add a new group
52# and change this value to match with that group. Add users that should have
53# control interface access to this group. If this variable is commented out or
54# not included in the configuration file, group will not be changed from the
55# value it got by default when the directory or socket was created.
56#
57# When configuring both the directory and group, use following format:
58# DIR=/var/run/wpa_supplicant GROUP=wheel
59# DIR=/var/run/wpa_supplicant GROUP=0
60# (group can be either group name or gid)
61#
62# For UDP connections (default on Windows): The value will be ignored. This
63# variable is just used to select that the control interface is to be created.
64# The value can be set to, e.g., udp (ctrl_interface=udp)
65#
66# For Windows Named Pipe: This value can be used to set the security descriptor
67# for controlling access to the control interface. Security descriptor can be
68# set using Security Descriptor String Format (see http://msdn.microsoft.com/
69# library/default.asp?url=/library/en-us/secauthz/security/
70# security_descriptor_string_format.asp). The descriptor string needs to be
71# prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty
72# DACL (which will reject all connections). See README-Windows.txt for more
73# information about SDDL string format.
74#
75ctrl_interface=/var/run/wpa_supplicant
76
77# IEEE 802.1X/EAPOL version
78# wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines
79# EAPOL version 2. However, there are many APs that do not handle the new
80# version number correctly (they seem to drop the frames completely). In order
81# to make wpa_supplicant interoperate with these APs, the version number is set
82# to 1 by default. This configuration value can be used to set it to the new
83# version (2).
84eapol_version=1
85
86# AP scanning/selection
87# By default, wpa_supplicant requests driver to perform AP scanning and then
88# uses the scan results to select a suitable AP. Another alternative is to
89# allow the driver to take care of AP scanning and selection and use
90# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
91# information from the driver.
92# 1: wpa_supplicant initiates scanning and AP selection
93# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
94# parameters (e.g., WPA IE generation); this mode can also be used with
95# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
96# APs (i.e., external program needs to control association). This mode must
97# also be used when using wired Ethernet drivers.
98# 2: like 0, but associate with APs using security policy and SSID (but not
99# BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to
100# enable operation with hidden SSIDs and optimized roaming; in this mode,
101# the network blocks in the configuration file are tried one by one until
102# the driver reports successful association; each network block should have
103# explicit security policy (i.e., only one option in the lists) for
104# key_mgmt, pairwise, group, proto variables
105ap_scan=1
106
107# EAP fast re-authentication
108# By default, fast re-authentication is enabled for all EAP methods that
109# support it. This variable can be used to disable fast re-authentication.
110# Normally, there is no need to disable this.
111fast_reauth=1
112
113# OpenSSL Engine support
114# These options can be used to load OpenSSL engines.
115# The two engines that are supported currently are shown below:
116# They are both from the opensc project (http://www.opensc.org/)
117# By default no engines are loaded.
118# make the opensc engine available
119#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
120# make the pkcs11 engine available
121#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
122# configure the path to the pkcs11 module required by the pkcs11 engine
123#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
124
125# Dynamic EAP methods
126# If EAP methods were built dynamically as shared object files, they need to be
127# loaded here before being used in the network blocks. By default, EAP methods
128# are included statically in the build, so these lines are not needed
129#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
130#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
131
132# Driver interface parameters
133# This field can be used to configure arbitrary driver interace parameters. The
134# format is specific to the selected driver interface. This field is not used
135# in most cases.
136#driver_param="field=value"
137
138# Maximum lifetime for PMKSA in seconds; default 43200
139#dot11RSNAConfigPMKLifetime=43200
140# Threshold for reauthentication (percentage of PMK lifetime); default 70
141#dot11RSNAConfigPMKReauthThreshold=70
142# Timeout for security association negotiation in seconds; default 60
143#dot11RSNAConfigSATimeout=60
144
145# network block
146#
147# Each network (usually AP's sharing the same SSID) is configured as a separate
148# block in this configuration file. The network blocks are in preference order
149# (the first match is used).
150#
151# network block fields:
152#
153# disabled:
154# 0 = this network can be used (default)
155# 1 = this network block is disabled (can be enabled through ctrl_iface,
156# e.g., with wpa_cli or wpa_gui)
157#
158# id_str: Network identifier string for external scripts. This value is passed
159# to external action script through wpa_cli as WPA_ID_STR environment
160# variable to make it easier to do network specific configuration.
161#
162# ssid: SSID (mandatory); either as an ASCII string with double quotation or
163# as hex string; network name
164#
165# scan_ssid:
166# 0 = do not scan this SSID with specific Probe Request frames (default)
167# 1 = scan with SSID-specific Probe Request frames (this can be used to
168# find APs that do not accept broadcast SSID or use multiple SSIDs;
169# this will add latency to scanning, so enable this only when needed)
170#
171# bssid: BSSID (optional); if set, this network block is used only when
172# associating with the AP using the configured BSSID
173#
174# priority: priority group (integer)
175# By default, all networks will get same priority group (0). If some of the
176# networks are more desirable, this field can be used to change the order in
177# which wpa_supplicant goes through the networks when selecting a BSS. The
178# priority groups will be iterated in decreasing priority (i.e., the larger the
179# priority value, the sooner the network is matched against the scan results).
180# Within each priority group, networks will be selected based on security
181# policy, signal strength, etc.
182# Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not
183# using this priority to select the order for scanning. Instead, they try the
184# networks in the order that used in the configuration file.
185#
186# mode: IEEE 802.11 operation mode
187# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
188# 1 = IBSS (ad-hoc, peer-to-peer)
189# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
190# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
191# to be set to 2 for IBSS. WPA-None requires following network block options:
192# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
193# both), and psk must also be set.
194#
195# frequency: Channel frequency in megahertz (MHz) for IBSS, e.g.,
196# 2412 = IEEE 802.11b/g channel 1. This value is used to configure the initial
197# channel for IBSS (adhoc) networks. It is ignored in the infrastructure mode.
198# In addition, this value is only used by the station that creates the IBSS. If
199# an IBSS network with the configured SSID is already present, the frequency of
200# the network will be used instead of this configured value.
201#
202# proto: list of accepted protocols
203# WPA = WPA/IEEE 802.11i/D3.0
204# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
205# If not set, this defaults to: WPA RSN
206#
207# key_mgmt: list of accepted authenticated key management protocols
208# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
209# WPA-EAP = WPA using EAP authentication (this can use an external
210# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
211# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
212# generated WEP keys
213# NONE = WPA is not used; plaintext or static WEP could be used
214# If not set, this defaults to: WPA-PSK WPA-EAP
215#
216# auth_alg: list of allowed IEEE 802.11 authentication algorithms
217# OPEN = Open System authentication (required for WPA/WPA2)
218# SHARED = Shared Key authentication (requires static WEP keys)
219# LEAP = LEAP/Network EAP (only used with LEAP)
220# If not set, automatic selection is used (Open System with LEAP enabled if
221# LEAP is allowed as one of the EAP methods).
222#
223# pairwise: list of accepted pairwise (unicast) ciphers for WPA
224# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
225# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
226# NONE = Use only Group Keys (deprecated, should not be included if APs support
227# pairwise keys)
228# If not set, this defaults to: CCMP TKIP
229#
230# group: list of accepted group (broadcast/multicast) ciphers for WPA
231# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
232# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
233# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
234# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
235# If not set, this defaults to: CCMP TKIP WEP104 WEP40
236#
237# psk: WPA preshared key; 256-bit pre-shared key
238# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
239# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
240# generated using the passphrase and SSID). ASCII passphrase must be between
241# 8 and 63 characters (inclusive).
242# This field is not needed, if WPA-EAP is used.
243# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
244# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
245# startup and reconfiguration time can be optimized by generating the PSK only
246# only when the passphrase or SSID has actually changed.
247#
248# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
249# Dynamic WEP key required for non-WPA mode
250# bit0 (1): require dynamically generated unicast WEP key
251# bit1 (2): require dynamically generated broadcast WEP key
252# (3 = require both keys; default)
253# Note: When using wired authentication, eapol_flags must be set to 0 for the
254# authentication to be completed successfully.
255#
256# mixed_cell: This option can be used to configure whether so called mixed
257# cells, i.e., networks that use both plaintext and encryption in the same
258# SSID, are allowed when selecting a BSS form scan results.
259# 0 = disabled (default)
260# 1 = enabled
261#
262# proactive_key_caching:
263# Enable/disable opportunistic PMKSA caching for WPA2.
264# 0 = disabled (default)
265# 1 = enabled
266#
267# wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or
268# hex without quotation, e.g., 0102030405)
269# wep_tx_keyidx: Default WEP key index (TX) (0..3)
270#
271# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is
272# allowed. This is only used with RSN/WPA2.
273# 0 = disabled (default)
274# 1 = enabled
275#peerkey=1
276#
277# Following fields are only used with internal EAP implementation.
278# eap: space-separated list of accepted EAP methods
279# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
280# cannot be used with WPA; to be used as a Phase 2 method
281# with EAP-PEAP or EAP-TTLS)
282# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
283# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
284# OTP = EAP-OTP (cannot be used separately with WPA; to be used
285# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
286# GTC = EAP-GTC (cannot be used separately with WPA; to be used
287# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
288# TLS = EAP-TLS (client and server certificate)
289# PEAP = EAP-PEAP (with tunnelled EAP authentication)
290# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
291# authentication)
292# If not set, all compiled in methods are allowed.
293#
294# identity: Identity string for EAP
295# This field is also used to configure user NAI for
296# EAP-PSK/PAX/SAKE/GPSK.
297# anonymous_identity: Anonymous identity string for EAP (to be used as the
298# unencrypted identity with EAP types that support different tunnelled
299# identity, e.g., EAP-TTLS)
300# password: Password string for EAP. This field can include either the
301# plaintext password (using ASCII or hex string) or a NtPasswordHash
302# (16-byte MD4 hash of password) in hash:<32 hex digits> format.
303# NtPasswordHash can only be used when the password is for MSCHAPv2 or
304# MSCHAP (EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP).
305# EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), and EAP-SAKE (256-bit
306# PSK) is also configured using this field. For EAP-GPSK, this is a
307 variable length PSK.
308# ca_cert: File path to CA certificate file (PEM/DER). This file can have one
309# or more trusted CA certificates. If ca_cert and ca_path are not
310# included, server certificate will not be verified. This is insecure and
311# a trusted CA certificate should always be configured when using
312# EAP-TLS/TTLS/PEAP. Full path should be used since working directory may
313# change when wpa_supplicant is run in the background.
314# On Windows, trusted CA certificates can be loaded from the system
315# certificate store by setting this to cert_store://<name>, e.g.,
316# ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
317# Note that when running wpa_supplicant as an application, the user
318# certificate store (My user account) is used, whereas computer store
319# (Computer account) is used when running wpasvc as a service.
320# ca_path: Directory path for CA certificate files (PEM). This path may
321# contain multiple CA certificates in OpenSSL format. Common use for this
322# is to point to system trusted CA list which is often installed into
323# directory like /etc/ssl/certs. If configured, these certificates are
324# added to the list of trusted CAs. ca_cert may also be included in that
325# case, but it is not required.
326# client_cert: File path to client certificate file (PEM/DER)
327# Full path should be used since working directory may change when
328# wpa_supplicant is run in the background.
329# Alternatively, a named configuration blob can be used by setting this
330# to blob://<blob name>.
331# private_key: File path to client private key file (PEM/DER/PFX)
332# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
333# commented out. Both the private key and certificate will be read from
334# the PKCS#12 file in this case. Full path should be used since working
335# directory may change when wpa_supplicant is run in the background.
336# Windows certificate store can be used by leaving client_cert out and
337# configuring private_key in one of the following formats:
338# cert://substring_to_match
339# hash://certificate_thumbprint_in_hex
340# for example: private_key="hash://63093aa9c47f56ae88334c7b65a4"
341# Note that when running wpa_supplicant as an application, the user
342# certificate store (My user account) is used, whereas computer store
343# (Computer account) is used when running wpasvc as a service.
344# Alternatively, a named configuration blob can be used by setting this
345# to blob://<blob name>.
346# private_key_passwd: Password for private key file (if left out, this will be
347# asked through control interface)
348# dh_file: File path to DH/DSA parameters file (in PEM format)
349# This is an optional configuration file for setting parameters for an
350# ephemeral DH key exchange. In most cases, the default RSA
351# authentication does not use this configuration. However, it is possible
352# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
353# DSA keys always use ephemeral DH keys. This can be used to achieve
354# forward secrecy. If the file is in DSA parameters format, it will be
355# automatically converted into DH params.
356# subject_match: Substring to be matched against the subject of the
357# authentication server certificate. If this string is set, the server
358# sertificate is only accepted if it contains this string in the subject.
359# The subject string is in following format:
360# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
361# altsubject_match: Semicolon separated string of entries to be matched against
362# the alternative subject name of the authentication server certificate.
363# If this string is set, the server sertificate is only accepted if it
364# contains one of the entries in an alternative subject name extension.
365# altSubjectName string is in following format: TYPE:VALUE
366# Example: EMAIL:server@example.com
367# Example: DNS:server.example.com;DNS:server2.example.com
368# Following types are supported: EMAIL, DNS, URI
369# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
370# (string with field-value pairs, e.g., "peapver=0" or
371# "peapver=1 peaplabel=1")
372# 'peapver' can be used to force which PEAP version (0 or 1) is used.
373# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
374# to be used during key derivation when PEAPv1 or newer. Most existing
375# PEAPv1 implementation seem to be using the old label, "client EAP
376# encryption", and wpa_supplicant is now using that as the default value.
377# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
378# interoperate with PEAPv1; see eap_testing.txt for more details.
379# 'peap_outer_success=0' can be used to terminate PEAP authentication on
380# tunneled EAP-Success. This is required with some RADIUS servers that
381# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
382# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
383# include_tls_length=1 can be used to force wpa_supplicant to include
384# TLS Message Length field in all TLS messages even if they are not
385# fragmented.
386# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
387# challenges (by default, it accepts 2 or 3)
388# result_ind=1 can be used to enable EAP-SIM and EAP-AKA to use
389# protected result indication.
390# phase2: Phase2 (inner authentication with TLS tunnel) parameters
391# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
392# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
393# Following certificate/private key fields are used in inner Phase2
394# authentication when using EAP-TTLS or EAP-PEAP.
395# ca_cert2: File path to CA certificate file. This file can have one or more
396# trusted CA certificates. If ca_cert2 and ca_path2 are not included,
397# server certificate will not be verified. This is insecure and a trusted
398# CA certificate should always be configured.
399# ca_path2: Directory path for CA certificate files (PEM)
400# client_cert2: File path to client certificate file
401# private_key2: File path to client private key file
402# private_key2_passwd: Password for private key file
403# dh_file2: File path to DH/DSA parameters file (in PEM format)
404# subject_match2: Substring to be matched against the subject of the
405# authentication server certificate.
406# altsubject_match2: Substring to be matched against the alternative subject
407# name of the authentication server certificate.
408#
409# fragment_size: Maximum EAP fragment size in bytes (default 1398).
410# This value limits the fragment size for EAP methods that support
411# fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set
412# small enough to make the EAP messages fit in MTU of the network
413# interface used for EAPOL. The default value is suitable for most
414# cases.
415#
416# EAP-FAST variables:
417# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
418# to create this file and write updates to it when PAC is being
419# provisioned or refreshed. Full path to the file should be used since
420# working directory may change when wpa_supplicant is run in the
421# background. Alternatively, a named configuration blob can be used by
422# setting this to blob://<blob name>
423# phase1: fast_provisioning option can be used to enable in-line provisioning
424# of EAP-FAST credentials (PAC):
425# 0 = disabled,
426# 1 = allow unauthenticated provisioning,
427# 2 = allow authenticated provisioning,
428# 3 = allow both unauthenticated and authenticated provisioning
429# fast_max_pac_list_len=<num> option can be used to set the maximum
430# number of PAC entries to store in a PAC list (default: 10)
431# fast_pac_format=binary option can be used to select binary format for
432# storing PAC entires in order to save some space (the default
433# text format uses about 2.5 times the size of minimal binary
434# format)
435#
436# wpa_supplicant supports number of "EAP workarounds" to work around
437# interoperability issues with incorrectly behaving authentication servers.
438# These are enabled by default because some of the issues are present in large
439# number of authentication servers. Strict EAP conformance mode can be
440# configured by disabling workarounds with eap_workaround=0.
441
442# Example blocks:
443
444# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
445network={
446 ssid="simple"
447 psk="very secret passphrase"
448 priority=5
449}
450
451# Same as previous, but request SSID-specific scanning (for APs that reject
452# broadcast SSID)
453network={
454 ssid="second ssid"
455 scan_ssid=1
456 psk="very secret passphrase"
457 priority=2
458}
459
460# Only WPA-PSK is used. Any valid cipher combination is accepted.
461network={
462 ssid="example"
463 proto=WPA
464 key_mgmt=WPA-PSK
465 pairwise=CCMP TKIP
466 group=CCMP TKIP WEP104 WEP40
467 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
468 priority=2
469}
470
471# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
472# or WEP40 as the group cipher will not be accepted.
473network={
474 ssid="example"
475 proto=RSN
476 key_mgmt=WPA-EAP
477 pairwise=CCMP TKIP
478 group=CCMP TKIP
479 eap=TLS
480 identity="user@example.com"
481 ca_cert="/etc/cert/ca.pem"
482 client_cert="/etc/cert/user.pem"
483 private_key="/etc/cert/user.prv"
484 private_key_passwd="password"
485 priority=1
486}
487
488# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
489# (e.g., Radiator)
490network={
491 ssid="example"
492 key_mgmt=WPA-EAP
493 eap=PEAP
494 identity="user@example.com"
495 password="foobar"
496 ca_cert="/etc/cert/ca.pem"
497 phase1="peaplabel=1"
498 phase2="auth=MSCHAPV2"
499 priority=10
500}
501
502# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
503# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
504network={
505 ssid="example"
506 key_mgmt=WPA-EAP
507 eap=TTLS
508 identity="user@example.com"
509 anonymous_identity="anonymous@example.com"
510 password="foobar"
511 ca_cert="/etc/cert/ca.pem"
512 priority=2
513}
514
515# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
516# use. Real identity is sent only within an encrypted TLS tunnel.
517network={
518 ssid="example"
519 key_mgmt=WPA-EAP
520 eap=TTLS
521 identity="user@example.com"
522 anonymous_identity="anonymous@example.com"
523 password="foobar"
524 ca_cert="/etc/cert/ca.pem"
525 phase2="auth=MSCHAPV2"
526}
527
528# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
529# authentication.
530network={
531 ssid="example"
532 key_mgmt=WPA-EAP
533 eap=TTLS
534 # Phase1 / outer authentication
535 anonymous_identity="anonymous@example.com"
536 ca_cert="/etc/cert/ca.pem"
537 # Phase 2 / inner authentication
538 phase2="autheap=TLS"
539 ca_cert2="/etc/cert/ca2.pem"
540 client_cert2="/etc/cer/user.pem"
541 private_key2="/etc/cer/user.prv"
542 private_key2_passwd="password"
543 priority=2
544}
545
546# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
547# group cipher.
548network={
549 ssid="example"
550 bssid=00:11:22:33:44:55
551 proto=WPA RSN
552 key_mgmt=WPA-PSK WPA-EAP
553 pairwise=CCMP
554 group=CCMP
555 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
556}
557
558# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
559# and all valid ciphers.
560network={
561 ssid=00010203
562 psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
563}
564
565
566# EAP-SIM with a GSM SIM or USIM
567network={
568 ssid="eap-sim-test"
569 key_mgmt=WPA-EAP
570 eap=SIM
571 pin="1234"
572 pcsc=""
573}
574
575
576# EAP-PSK
577network={
578 ssid="eap-psk-test"
579 key_mgmt=WPA-EAP
580 eap=PSK
581 anonymous_identity="eap_psk_user"
582 password=06b4be19da289f475aa46a33cb793029
583 identity="eap_psk_user@example.com"
584}
585
586
587# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
588# EAP-TLS for authentication and key generation; require both unicast and
589# broadcast WEP keys.
590network={
591 ssid="1x-test"
592 key_mgmt=IEEE8021X
593 eap=TLS
594 identity="user@example.com"
595 ca_cert="/etc/cert/ca.pem"
596 client_cert="/etc/cert/user.pem"
597 private_key="/etc/cert/user.prv"
598 private_key_passwd="password"
599 eapol_flags=3
600}
601
602
603# LEAP with dynamic WEP keys
604network={
605 ssid="leap-example"
606 key_mgmt=IEEE8021X
607 eap=LEAP
608 identity="user"
609 password="foobar"
610}
611
612# EAP-IKEv2 using shared secrets for both server and peer authentication
613network={
614 ssid="ikev2-example"
615 key_mgmt=WPA-EAP
616 eap=IKEV2
617 identity="user"
618 password="foobar"
619}
620
621# EAP-FAST with WPA (WPA or WPA2)
622network={
623 ssid="eap-fast-test"
624 key_mgmt=WPA-EAP
625 eap=FAST
626 anonymous_identity="FAST-000102030405"
627 identity="username"
628 password="password"
629 phase1="fast_provisioning=1"
630 pac_file="/etc/wpa_supplicant.eap-fast-pac"
631}
632
633network={
634 ssid="eap-fast-test"
635 key_mgmt=WPA-EAP
636 eap=FAST
637 anonymous_identity="FAST-000102030405"
638 identity="username"
639 password="password"
640 phase1="fast_provisioning=1"
641 pac_file="blob://eap-fast-pac"
642}
643
644# Plaintext connection (no WPA, no IEEE 802.1X)
645network={
646 ssid="plaintext-test"
647 key_mgmt=NONE
648}
649
650
651# Shared WEP key connection (no WPA, no IEEE 802.1X)
652network={
653 ssid="static-wep-test"
654 key_mgmt=NONE
655 wep_key0="abcde"
656 wep_key1=0102030405
657 wep_key2="1234567890123"
658 wep_tx_keyidx=0
659 priority=5
660}
661
662
663# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
664# IEEE 802.11 authentication
665network={
666 ssid="static-wep-test2"
667 key_mgmt=NONE
668 wep_key0="abcde"
669 wep_key1=0102030405
670 wep_key2="1234567890123"
671 wep_tx_keyidx=0
672 priority=5
673 auth_alg=SHARED
674}
675
676
677# IBSS/ad-hoc network with WPA-None/TKIP.
678network={
679 ssid="test adhoc"
680 mode=1
681 frequency=2412
682 proto=WPA
683 key_mgmt=WPA-NONE
684 pairwise=NONE
685 group=TKIP
686 psk="secret passphrase"
687}
688
689
690# Catch all example that allows more or less all configuration modes
691network={
692 ssid="example"
693 scan_ssid=1
694 key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
695 pairwise=CCMP TKIP
696 group=CCMP TKIP WEP104 WEP40
697 psk="very secret passphrase"
698 eap=TTLS PEAP TLS
699 identity="user@example.com"
700 password="foobar"
701 ca_cert="/etc/cert/ca.pem"
702 client_cert="/etc/cert/user.pem"
703 private_key="/etc/cert/user.prv"
704 private_key_passwd="password"
705 phase1="peaplabel=0"
706}
707
708# Example of EAP-TLS with smartcard (openssl engine)
709network={
710 ssid="example"
711 key_mgmt=WPA-EAP
712 eap=TLS
713 proto=RSN
714 pairwise=CCMP TKIP
715 group=CCMP TKIP
716 identity="user@example.com"
717 ca_cert="/etc/cert/ca.pem"
718 client_cert="/etc/cert/user.pem"
719
720 engine=1
721
722 # The engine configured here must be available. Look at
723 # OpenSSL engine support in the global section.
724 # The key available through the engine must be the private key
725 # matching the client certificate configured above.
726
727 # use the opensc engine
728 #engine_id="opensc"
729 #key_id="45"
730
731 # use the pkcs11 engine
732 engine_id="pkcs11"
733 key_id="id_45"
734
735 # Optional PIN configuration; this can be left out and PIN will be
736 # asked through the control interface
737 pin="1234"
738}
739
740# Example configuration showing how to use an inlined blob as a CA certificate
741# data instead of using external file
742network={
743 ssid="example"
744 key_mgmt=WPA-EAP
745 eap=TTLS
746 identity="user@example.com"
747 anonymous_identity="anonymous@example.com"
748 password="foobar"
749 ca_cert="blob://exampleblob"
750 priority=20
751}
752
753blob-base64-exampleblob={
754SGVsbG8gV29ybGQhCg==
755}
756
757
758# Wildcard match for SSID (plaintext APs only). This example select any
759# open AP regardless of its SSID.
760network={
761 key_mgmt=NONE
762}