蓝牙LE特性加密/认证通知不可能?

问题描述 投票:0回答:1

看看bluez dbus API似乎不可能有“通知”的特征,只有配对的设备才能以加密的方式订阅(所以像“encrypt-authenticated-notify”这样的东西)。

有没有办法做到这一点?或者这是bluez的限制?或者甚至可能根本不支持蓝牙?

security bluetooth-lowenergy bluez
1个回答
1
投票

事实上,蓝牙低功耗和BlueZ API都支持这一功能,但是,您需要将属性应用于客户端特性配置描述符(CCCD),而不是特性本身。

详细说明,对于要通知/可指示的特征,必须将CCCD描述符作为该特征的一部分存在。例如,对于心率特征,存在伴随的CCCD描述符,其可用于启用/禁用通知或指示。将0100写入描述符启用通知,写入0200启用指示,写入0000禁用通知/指示。

现在,如果您只希望配对设备能够启用通知,则需要更改该描述符的属性,使其不“打开”。执行此操作的API可用here,您可以将属性设置为“read,encrypt-write”,这意味着您可以正常读取描述符的值,但为了写入并启用通知,您将必须配对它。

请查看以下可能有用的链接

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.