Persistent whitelist for Bluetooth low energy devices.
This CL adds a persistent whitelist for BLE devices to be used with proximity_auth::ProximityAuthBleSytem and proximity_auth::BluetoothLowEnergyConnectionFinder.
Currently, in BLE connection finder a device has to satisfy two conditions for the connection to be established: (i) paired and (ii) has a given service visible (either advertising or cached).
The problem with this strategy is that when the service cache is dropped by CrOS and the device has the service but is not advertising BLE connection finder is unable to connect.
This CL solves this problem, if a given device is whitelisted then BLE connection finder will connect even if (ii) is not satisfied.
A device is whitelisted if a connection is successfully established and its public key is register in CryptAuth. When a device is removed from CryptAuth it also removed from the whitelist.
TEST=unit tests
BUG=505464
Review URL: https://codereview.chromium.org/
1208073003
Cr-Commit-Position: refs/heads/master@{#337845}