Hello, I have a few questions..
First (and most important!), regarding connection signature and CSRK.. We have been looking at it and we can not seem to understand how the intended use-flow of it should be implemented since it is not documented properly how it should be used in your SDK. The whole process of CSRK and key exchange is well documented at BLE standard level, but it is unclear how it should be used with the SDK. For example, who is responsible of storing and adding the sign_counter to the characteristic read/writes? Is this done internally by GAP or should we store it somewhere in our non-volatile memory? Also, how do we actually use the csrk to sign the packages?
Just to clarify things. We have gotten link encryption, as well as bonding to work fine (including IRK for private random addrs), but not data signing only. At what step in the process should this be done?
Second, regarding the white-listing of bd_addrs during advertising. We are able to add new devices to the white-list by sending a gap_bdaddr struct as a parameter. The gap_bdaddr contains both a bd_addr struct as well as a addr_type flag that you can set to 1 if you want to use private random addrs (according to documentation). The only problem with this is that you actually can't white-list devices with private (resolvable) random addrs since that requires their IRK's and there is no interface to provide the BLE stack with this information. So, why is this option available if it can't be used? And are you working on supporting private random white-listing in the near(!) future?
(Sorry if I missed something obvious..)
Best,
Hi Joacimwe,
I asked the same question to Dialog, they said they don't support private address in whitelist and will offer a "virtual whitelist" in their next SDK version.
除此之外,你的私人工作逢随机地址l on Windows 8.1. Seems my private address works well on IOS but not Windows 8+>
Best,