MicrosoftDocs / winrt-api

WinRT reference content for developing Microsoft Universal Windows Platform (UWP) apps
Creative Commons Attribution 4.0 International
230 stars 494 forks source link

API request - BLE API for reading, writing, bond keys #2453

Closed epatstarkey closed 7 months ago

epatstarkey commented 7 months ago

We work with BLE programmers that as part of their API provide the ability to serialize, deserialize, and read the bond keys exchanged with a BLE peripheral when paired. This includes things like EDIV/RAND/LTK/CSRK/IRK.

I would like to request an API on https://learn.microsoft.com/en-us/uwp/api/windows.devices.bluetooth?view=winrt-22621 that brings the Windows Runtime API to the same level of functionality, at least on PC.

Something along these lines:

interface IBleBondKeys
ulong CentralIdentityAddress
int CentralIdentityAddressType
ulong PeripheralIdentityAddress
int PeripheralIdentityAddressType
byte[] LongTermKey
ulong Random
ushort Ediv
byte[] IdentityResolvingKey
byte[] ConnectionSignatureKey
enum CapabilitiesAndKeyLengthFlags

Which could be added to a store for a specific BluetoothAdaptor, and retrieved for a specific BluetoothDevice on that BluetoothAdaptor.

Similar functionality is available on Linux, https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/settings-storage.txt and most of the main BLE stacks (Apache mynewt/nimble, nordic softdevice, Mbed BLE, etc).

stevewhims commented 7 months ago

Hi, @epatstarkey, and thanks for filing this issue. The feedback channel you're using here (Submit and view feedback for > This page) is for feedback about the documentation in this topic itself, as published. For example, if the content is incorrect or incomplete.

For feature requests to the product team, like this, one option is to click Submit and view feedback for > This product, and you'll be taken to Microsoft Q&A (more info about that below).

Here are all of the developer support resources, for completeness.

I'll go ahead and close this issue now, since there's no action to take in the documentation. You can always reply to a closed issue, or even re-open it if you feel it's been closed in error.

Thanks! -Steve

epatstarkey commented 7 months ago

Thanks for the pointers to the best location to submit this, it wasn't easy for me to find on my own.