你好,
我正在努力实现削减。
这是它应该如何工作
我将设备双重标签,它在GAP_LIM_DISCOVERABLE模式下启动广告(以便在有限发现模式下扫描仪只能看到此设备)
现在电话(中央)连接
通过电话连接设备(外设)将要求启用安全性,并将键转移,映射完成。
现在我有关于
1. 180年代之后的GAP_LIM_DISCOVERABLEACTABLE(如文档中提到的)在发生此时180s的超时时运行的处理程序?
2电话连接后,我必须发送什么请求才能启用安全性
3.判度后,如何管理密钥并在重新连接时使用它。(我知道我可以在EEPROM中保存它的选项,因此它还可以在HW重置箱中工作)
4.是Android的逻辑方法是android和iOS的不同吗?
我正在使用sdk3.0.10.1
谢谢
莫希特
设备:
?? 有什么建议吗??
我正在通过在发送启用请求时在其中一个配置文件中设置身份验证来启用判决
req-> sec_lvl = perm(svc,auth);
削皮正在发生,我可以在电话上看到它。
但电话没有收到特征通知。
我正在附上我的wireshark日志
我认为削减本身有一些问题
嗨Mohit3112,
1.是的,广告应该结束和处理程序,指示广告终止的方式与取消广告操作(.app_on_adv_undirect_complete),但具有不同的状态缩放_err_timeout。
2.如果您希望从站建立安全请求后,应使用GAPC_SECURY_CMD命令,可以通过选中.security_request_scenario在BLE_APP_BAREBONE /配置文件/配置文件/外设项目中找到此实现,并将其转换为def_sec_req_on_connect。由于您在SDK 3中,您应该在连接处理程序执行时发送此命令。
三。配对完成并绑定设备后,如果断开/连接,则中心应发出加密请求,设备将检查allready现有密钥(ediv和rand),以检查传入连接的有效性。您可以检查智能标签参考设计,该设计实现了安全机制并将数据存储在非易失性存储器中。
4.配对和粘合由蓝牙规范定义。
谢谢mt_dialog.
嗨,谢谢你的回答,我看了smartTag项目
我仍然有一个疑问
当中央设备获取insuffied_auth_error或insuffied_encryption_error时,它会自动启动paring右键?
所以在外围设备中,如果我启用这样的配置文件
app_fsds_enable_prf_sec(prem(svc,auth));
(FSDS是我的自定义配置文件)
现在,当中央设备(Android或iOS电话)尝试写下描述符时,它将获得错误,因此它将启动映射,
现在,削减完成后,我应该能够在中心侧接收对特征的通知。但它没有发生问题?
谢谢
莫希特
嗨Mohit3112,
是的,如果外设具有安全特性并且没有安全请求,则客户端应启动安全性以访问受限制的特性。是从设备触发的通知吗?您可以查看Custs1_val_ntf_req_handler()。此外,Auth声明表明,您的特征不仅需要Ecryption但身份验证,我猜您的安全性就在此刻。
谢谢mt_dialog.
找不到您提到的函数(可能是sdk5中的函数,我正在使用3),但下面是我所做的
好的,所以我把休息点放在app_send_paring_rsp_func()上,是的,电话(中央设备发送折叠req)和外围设备(pan147580)正在得到它并发送响应,它们也被配对。
现在在第二种情况下,我在gattc\u write\u cmd\u ind\u处理程序中保留断点,以查看电话在配对后是否能够写入CCC描述符。它不能在配对后写入CCC描述符
然后我嗤之以鼻,看看出了什么问题,从奴隶到掌握到master的一些数据包说“加密数据包解密不正确(坏麦克风)”
所以基本上,我不能读写属性后削减
你也猜到了我试图实施justworks paring
谢谢
莫希特
尝试Prem(SVC,UNAUTH)而不是PREM(SVC,AUTH)。
根据蓝牙规范,访问权限有多个“级别”。我们有未经身份验证的加密,经过身份验证的加密以及授权。
“只是作品”通常意味着验证MITM(带密码条目)时未经身份验证。
嗨Mohit3112,
正如JoacimWe所说的那样尝试将权限设置为Unauth而不是Auth并再次检查,因为没有授权,您不应该与该特征交互。由于您的连接安全性正在使用刚刚工作配对,因此您不会有能够拥有授权方案,因此您必须实现传递键,以便您的连接进行身份验证。
谢谢mt_dialog.
谢谢Joacimwe,它的工作,虽然有点混乱,将不得不阅读更多关于ble安全
感谢帮助
莫希特