| commit | 28e71625037451f94be65949443266dc2e03fa30 | [log] [tgz] |
|---|---|---|
| author | Arman Uguray <armansito@google.com> | Thu Apr 25 20:35:33 2019 +0000 |
| committer | Rob Mohr <mohrr@google.com> | Thu Nov 16 10:57:42 2023 -0800 |
| tree | 9a68d1d55f926168040065259b4496338284ae9e | |
| parent | d0da3f785e739a8a1efe65401647a8183edea049 [diff] |
[bt][gap] Distribute local identity information during pairing
LowEnergyConnectionManager now responds to local identity information
requests during the feature exchange and key distribution phases of SMP
pairing.
Bug: BT-243 #done
Test: 1. Run bt-pairing-tool, bt-le-battery-peripheral, and
bt-le-peripheral -c -n <NAME> on Fuchsia. This will put Fuchsia
into LE peripheral mode with one GATT service that requires
security.
2. Connect to Fuchsia from iOS using the nRF Connect app. This
should trigger LE pairing. Respond to the authentication challenge
using bt-pairing-tool (local passkey entry on ToT). The battery
service characteristic should be readable and notifiable
without any errors.
3. Pipe the output of bt-snoop-cli to Wireshark and confirm that:
a. Fuchsia configured advertising using a random address.
b. Local IRK and identity address were distributed over SMP.
Check that the IRK matches what has been persisted in the
stash. Check that the identity address matches the address of
the active adapter (confirm via bt-cli).
4. Reboot Fuchsia, repeat step #1. Connect again using nRF
Connect. The battery service should be accessible without
additional pairing errors.
5. Check the snoop logs to confirm that Fuchsia used a different
RPA when advertising.
Change-Id: Ibb78b2de3049f9f351215ed4d878acfcca5569df
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.