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. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_TYPES_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_TYPES_H_ 7 8 #include <string> 9 #include <vector> 10 11 namespace chromeos { 12 13 extern const char kEasyUnlockKeyMetaNameBluetoothAddress[]; 14 extern const char kEasyUnlockKeyMetaNamePsk[]; 15 extern const char kEasyUnlockKeyMetaNamePubKey[]; 16 extern const char kEasyUnlockKeyMetaNameChallenge[]; 17 extern const char kEasyUnlockKeyMetaNameWrappedSecret[]; 18 19 // Device data that is stored with cryptohome keys. 20 struct EasyUnlockDeviceKeyData { 21 EasyUnlockDeviceKeyData(); 22 ~EasyUnlockDeviceKeyData(); 23 24 // Bluetooth address of the remote device. 25 std::string bluetooth_address; 26 // Public key of the remote device. 27 std::string public_key; 28 // Key to establish a secure channel with the remote device. 29 std::string psk; 30 // Challenge bytes to be sent to the phone. 31 std::string challenge; 32 // Wrapped secret to mount cryptohome home. 33 std::string wrapped_secret; 34 }; 35 typedef std::vector<EasyUnlockDeviceKeyData> EasyUnlockDeviceKeyDataList; 36 37 } // namespace chromeos 38 39 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_TYPES_H_ 40