We are developing a wireless n/w configuration UI and need to check if a SSID is a valid one? Are there any restrictions on the character set? length ? anything more..
Asked
Active
Viewed 6.0k times
2 Answers
68
Section 7.3.2.1 of the 802.11-2007 specification (http://standards.ieee.org/getieee802/download/802.11-2007.pdf) defines SSIDs.
A valid SSID is 0-32 octets with arbitrary contents. A 0-length SSID indicates the wildcard SSID (in probe request frames for instance).
There's no character set associated with the SSID - a 32-byte string of NUL-bytes is a valid SSID.
This implies:
you should never use normal string functions when manipulating generic SSIDs (strcpy() and friends).
you should not assume that the SSID is printable when, for instance, logging it to disk

Ryan Schipper
- 1,019
- 7
- 8

Per Knytt
- 1,931
- 1
- 11
- 14
-
32There's updated version of standard ( http://standards.ieee.org/getieee802/download/802.11-2012.pdf ), which defines `SSIDEncoding` field. It can be `UNSPECIFIED` ( for arbitrary data ) or `UTF8`. – Andrey Starodubtsev Jan 22 '13 at 14:51
-
1It can contain any UTF-8 characters? – Csaba Toth Dec 06 '15 at 03:41
-
3It can contain any type of data. – Per Knytt Dec 09 '15 at 08:20
-
Post should be updated with the new standard information – JackGrinningCat Oct 11 '18 at 13:16
-
2The link from @AndreyStarodubtsev is dead for me, so I found this one instead: http://www.academia.edu/6564159/Part_11_Wireless_LAN_Medium_Access_Control_MAC_and_Physical_Layer_PHY_Specifications_Sponsored_by_the_LAN_MAN_Standards_Committee – Sámal Rasmussen Nov 30 '18 at 09:13
15
According to last standard 802.11-2012 (Section 6.3.11.2.2), it can be 0-32 octets with an unspecified or UTF8 encoding.

fazineroso
- 7,196
- 7
- 31
- 42
-
5Microsoft -- as usual -- messed it: While Windows Phone 8 displayed it correctly UTF8 decoded, Windows 10 Mobile now decodes it using Windows-1252 or Latin1. – springy76 May 29 '16 at 12:13