1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Sync protocol datatype extension for WiFi credentials.
7 // Update proto_{value,enum}_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file.
12 option optimize_for = LITE_RUNTIME;
13 option retain_unknown_fields = true;
17 // Properties of WiFi credential objects.
18 message WifiCredentialSpecifics {
19 optional bytes ssid = 1; // Not necessarily UTF-8. May contain NUL.
22 SECURITY_CLASS_INVALID = 0;
23 SECURITY_CLASS_NONE = 1;
24 SECURITY_CLASS_WEP = 2;
25 SECURITY_CLASS_PSK = 3; // WPA-PSK or RSN-PSK
26 // 802.1X is omittted, as we do not support syncing 802.1X
29 optional SecurityClass security_class = 2;
31 // Network passphrase.
33 // For SECURITY_CLASS_NONE, the passphrase should be ignored.
35 // For SECURITY_CLASS_WEP, the passphrase should have one of the
38 // - 5 character ASCII string. Each character maps one byte of the key.
39 // - 10 character hex string. The string maps to the WEP key by simple
42 // - 13 character ASCII string. Each character maps one byte of the key.
43 // - 26 character hex string. The string maps to the WEP key by simple
46 // For SECURITY_CLASS_PSK, the passphrase should have one of the
47 // following two formats:
48 // - An 8-63 character ASCII string. The string maps to the
49 // WPA/WPA-2 PSK as per IEEE 802.11i.
50 // - A 64 character hex string. The string maps to the PSK per
51 // simple hex decoding.
53 // Note that, although the passphrase "should" contain only ASCII
54 // characters, we represent |passphrase| as |bytes| rather than
55 // |string|. This is to accomodate networks that use non-ASCII
57 optional bytes passphrase = 3;