dwww Home | Manual pages | Find package

WPA_SUPPLICANT.CONF(5)                                   WPA_SUPPLICANT.CONF(5)

NAME
       wpa_supplicant.conf - configuration file for wpa_supplicant

OVERVIEW
       wpa_supplicant  is  configured using a text file that lists all accepted
       networks and security policies, including pre-shared keys. See the exam-
       ple configuration file, probably in /usr/share/doc/wpa_supplicant/,  for
       detailed  information  about  the  configuration  format  and  supported
       fields.

       All file paths in this configuration file should use full (absolute, not
       relative to working directory) path in order to allow working  directory
       to  be  changed.  This  can happen if wpa_supplicant is run in the back-
       ground.

       Changes to configuration file can be reloaded be sending  SIGHUP  signal
       to  wpa_supplicant ('killall -HUP wpa_supplicant'). Similarly, reloading
       can be triggered with the wpa_cli reconfigure command.

       Configuration file can include one or more network blocks, e.g., one for
       each used SSID. wpa_supplicant will automatically select the  best  net-
       work  based  on  the  order of network blocks in the configuration file,
       network security level (WPA/WPA2 is preferred), and signal strength.

QUICK EXAMPLES
       1. WPA-Personal (PSK) as home network and WPA-Enterprise with EAP-TLS as
          work network.

          # allow frontend (e.g., wpa_cli) to be used by all users in 'netdev' group
          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          #
          # home network; allow all valid ciphers
          network={
               ssid="home"
               scan_ssid=1
               key_mgmt=WPA-PSK
               psk="very secret passphrase"
          }
          #
          # work network; use EAP-TLS with WPA; allow only CCMP and TKIP ciphers
          network={
               ssid="work"
               scan_ssid=1
               key_mgmt=WPA-EAP
               pairwise=CCMP TKIP
               group=CCMP TKIP
               eap=TLS
               identity="user@example.com"
               ca_cert="/etc/cert/ca.pem"
               client_cert="/etc/cert/user.pem"
               private_key="/etc/cert/user.prv"
               private_key_passwd="password"
          }

       2. WPA-RADIUS/EAP-PEAP/MSCHAPv2 with RADIUS servers that use old peapla-
          bel (e.g., Funk Odyssey and SBR, Meetinghouse Aegis,  Interlink  RAD-
          Series)

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          network={
               ssid="example"
               scan_ssid=1
               key_mgmt=WPA-EAP
               eap=PEAP
               identity="user@example.com"
               password="foobar"
               ca_cert="/etc/cert/ca.pem"
               phase1="peaplabel=0"
               phase2="auth=MSCHAPV2"
          }

       3. EAP-TTLS/EAP-MD5-Challenge  configuration with anonymous identity for
          the unencrypted use. Real identity is sent only within  an  encrypted
          TLS tunnel.

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          network={
               ssid="example"
               scan_ssid=1
               key_mgmt=WPA-EAP
               eap=TTLS
               identity="user@example.com"
               anonymous_identity="anonymous@example.com"
               password="foobar"
               ca_cert="/etc/cert/ca.pem"
               phase2="auth=MD5"
          }

       4. IEEE  802.1X  (i.e., no WPA) with dynamic WEP keys (require both uni-
          cast and broadcast); use EAP-TLS for authentication

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          network={
               ssid="1x-test"
               scan_ssid=1
               key_mgmt=IEEE8021X
               eap=TLS
               identity="user@example.com"
               ca_cert="/etc/cert/ca.pem"
               client_cert="/etc/cert/user.pem"
               private_key="/etc/cert/user.prv"
               private_key_passwd="password"
               eapol_flags=3
          }

       5. Catch all example that allows more or less all  configuration  modes.
          The  configuration  options are used based on what security policy is
          used in the selected SSID. This is mostly for testing and is not rec-
          ommended for normal use.

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          network={
               ssid="example"
               scan_ssid=1
               key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
               pairwise=CCMP TKIP
               group=CCMP TKIP WEP104 WEP40
               psk="very secret passphrase"
               eap=TTLS PEAP TLS
               identity="user@example.com"
               password="foobar"
               ca_cert="/etc/cert/ca.pem"
               client_cert="/etc/cert/user.pem"
               private_key="/etc/cert/user.prv"
               private_key_passwd="password"
               phase1="peaplabel=0"
               ca_cert2="/etc/cert/ca2.pem"
               client_cert2="/etc/cer/user.pem"
               private_key2="/etc/cer/user.prv"
               private_key2_passwd="password"
          }

       6. Authentication for wired Ethernet. This can be used with wired or ro-
          boswitch interface (-Dwired or -Droboswitch on command line).

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
          ap_scan=0
          network={
               key_mgmt=IEEE8021X
               eap=MD5
               identity="user"
               password="password"
               eapol_flags=0
          }

CERTIFICATES
       Some EAP authentication methods require  use  of  certificates.  EAP-TLS
       uses  both server side and client certificates whereas EAP-PEAP and EAP-
       TTLS only require the server side certificate. When  client  certificate
       is used, a matching private key file has to also be included in configu-
       ration.  If the private key uses a passphrase, this has to be configured
       in wpa_supplicant.conf ("private_key_passwd").

       wpa_supplicant supports X.509 certificates in PEM and DER formats.  User
       certificate and private key can be included in the same file.

       If  the user certificate and private key is received in PKCS#12/PFX for-
       mat, they need to be converted to suitable PEM/DER format  for  wpa_sup-
       plicant. This can be done, e.g., with following commands:

              # convert client certificate and private key to PEM format
              openssl pkcs12 -in example.pfx -out user.pem -clcerts
              # convert CA certificate (if included in PFX file) to PEM format
              openssl pkcs12 -in example.pfx -out ca.pem -cacerts -nokeys

SEE ALSO
       wpa_supplicant(8) openssl(1)

                                 07 August 2019          WPA_SUPPLICANT.CONF(5)

Generated by dwww version 1.16 on Sat Oct 3 06:03:02 CEST 2026.