doc: SSID field is hexadecimal only, also document Name field
[platform/upstream/connman.git] / doc / config-format.txt
1 Connman configuration file format
2 *********************************
3
4 Connman uses configuration files to provision existing services. Connman will
5 be looking for its configuration files at STORAGEDIR which by default points
6 to /var/lib/connman/. Configuration file names must not include other
7 characters than letters or numbers and must have a .config suffix.
8 Those configuration files are text files with a simple format and we typically
9 have one file per provisioned network.
10
11
12 Global entry [global]
13 =====================
14
15 These files can have an optional global entry describing the actual file.
16 The 2 allowed fields for that entry are:
17 - Name: Name of the network.
18 - Description: Description of the network.
19 - Protected: Configuration protection against being removed, modified or
20 overwritten by a Manager.ProvisionService() call. If unset, this value defaults
21 to TRUE, i.e. configs are protected by default.
22
23
24 Service entry [service_*]
25 =========================
26
27 Each provisioned service must start with the [service_*] tag. Replace * with
28 your service identifier.
29 The service identifier can be anything and will be used internally by connman
30 to store the different services into an hash table.
31
32 Allowed fields:
33 - Type: Service type. We currently only support wifi.
34 - Name: Service name
35 - SSID: An hexadecimal representation of a 802.11 SSID. If the SSID field is
36   omitted, the Name field is used instead.
37 - EAP: EAP type. We currently only support tls, ttls or peap.
38 - CACertFile: File path to CA certificate file (PEM/DER).
39 - ClientCertFile: File path to client certificate file (PEM/DER).
40 - PrivateKeyFile: File path to client private key file (PEM/DER/PFX).
41 - PrivateKeyPassphrase: Password/passphrase for private key file.
42 - PrivateKeyPassphraseType: We only support the fsid passphrase type for now.
43 This is for private keys generated by using their own filesystem UUID as the
44 passphrase. The PrivateKeyPassphrase field is ignored when this field is set
45 to fsid.
46 - Identity: Identity string for EAP.
47 - Phase2: Phase2 (inner authentication with TLS tunnel) authentication method.
48 Prefix the value with "EAP-" to indicate the usage of an EAP-based inner
49 authentication method (should only be used with EAP = TTLS).
50 - Passphrase: RSN/WPA/WPA2 Passphrase
51
52
53 Example
54 =======
55
56 This is a configuration file for a network providing EAP-TLS, EAP-TTLS and
57 EAP-PEAP services.
58 The respective SSIDs are tls_ssid, ttls_ssid and peap_ssid and the file name
59 is example.config.
60 Please note that the SSID entry is for hexadecimal encoded SSID (e.g. "SSID =
61 746c735f73736964"). If your SSID does not contain any exotic character then
62 you should use the Name entry instead (e.g. "Name = tls_ssid").
63
64
65 example@example:[~]$ cat /var/lib/connman/example.config
66 [global]
67 Name = Example
68 Description = Example network configuration
69
70 [service_tls]
71 Type = wifi
72 SSID = 746c735f73736964
73 EAP = tls
74 CACertFile = /home/user/.certs/ca.pem
75 ClientCertFile = /home/user/devlp/.certs/client.pem
76 PrivateKeyFile = /home/user/.certs/client.fsid.pem
77 PrivateKeyPassphraseType = fsid
78 Identity = user
79
80 [service_ttls]
81 Type = wifi
82 Name = ttls_ssid
83 EAP = ttls
84 CACertFile = /home/user/.cert/ca.pem
85 Phase2 = MSCHAPV2
86 Identity = user
87
88 [service_peap]
89 Type = wifi
90 Name = peap_ssid
91 EAP = peap
92 CACertFile = /home/user/.cert/ca.pem
93 Phase2 = MSCHAPV2
94 Identity = user