Hi ,
我正在努力实现削减。
这是它应该如何工作
我将设备双重标签,它在GAP_LIM_DISCOVERABLE模式下启动广告(以便在有限发现模式下扫描仪只能看到此设备)
现在电话(中央)连接
通过电话连接设备(外设)将要求启用安全性,并将键转移,映射完成。
现在我有关于
1. 180年代之后的GAP_LIM_DISCOVERABLEACTABLE(如文档中提到的)在发生此时180s的超时时运行的处理程序?
2. after phone connects what request i have to send to enable security
3.判度后,如何管理密钥并在重新连接时使用它。(我知道我可以在EEPROM中保存它的选项,因此它还可以在HW重置箱中工作)
4.是Android的逻辑方法是android和iOS的不同吗?
我正在使用sdk3.0.10.1
Thanks
Mohit
设备:
?? any suggestions ??
我正在通过在发送启用请求时在其中一个配置文件中设置身份验证来启用判决
req-> sec_lvl = perm(svc,auth);
削皮正在发生,我可以在电话上看到它。
但电话没有收到特征通知。
我正在附上我的wiresharklog
我认为削减本身有一些问题
嗨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中,您应该在连接处理程序执行时发送此命令。
3. After the pairing is complete and devices are bonded, the central in case of disconnection/connection should issue a encrytion request and the devices will check the allready existing keys (ediv and rand) in order to check the validity of the incoming connection. You can check the Smart Tag reference design which implement the security shceme and the storing of the data in a non volatile memory.
4.配对和粘合由蓝牙规范定义。
谢谢mt_dialog.
嗨,谢谢你的答案,i looked at the smartTag project
我仍然有一个疑问
当中央设备获取insuffied_auth_error或insuffied_encryption_error时,它会自动启动paring右键?
所以在外围设备中,如果我启用这样的配置文件
app_fsds_enable_prf_sec(prem(svc,auth));
(FSDS is my custom profile)
现在,当中央设备(Android或iOS电话)尝试写下描述符时,它将获得错误,因此它将启动映射,
现在,削减完成后,我应该能够在中心侧接收对特征的通知。但它没有发生问题?
Thanks
Mohit
嗨Mohit3112,
是的,如果外设具有安全特性并且没有安全请求,则客户端应启动安全性以访问受限制的特性。是从设备触发的通知吗?您可以查看Custs1_val_ntf_req_handler()。此外,Auth声明表明,您的特征不仅需要Ecryption但身份验证,我猜您的安全性就在此刻。
谢谢mt_dialog.
找不到功能that you mentioned (may be its in sdk 5 i am using 3 ) but here is what i did
好的,所以我把休息点放在app_send_paring_rsp_func()上,是的,电话(中央设备发送折叠req)和外围设备(pan147580)正在得到它并发送响应,它们也被配对。
在第二个案例我一直在gattc_writ断点e_cmd_ind_handler to see is phone is able to write CCC descriptor after paring. and its not able to write the CCC descriptor after paring
然后我嗤之以鼻,看看出了什么问题,从奴隶到掌握到master的一些数据包说“加密数据包解密不正确(坏麦克风)”
so basically i am not able to read write attributes after paring
你也猜到了我试图实施justworks paring
Thanks
莫希特
尝试Prem(SVC,UNAUTH)而不是PREM(SVC,AUTH)。
根据蓝牙规范,访问权限有多个“级别”。我们有未经身份验证的加密,经过身份验证的加密以及授权。
“只是作品”通常意味着验证MITM(带密码条目)时未经身份验证。
嗨Mohit3112,
正如JoacimWe所说的那样尝试将权限设置为Unauth而不是Auth并再次检查,因为没有授权,您不应该与该特征交互。由于您的连接安全性正在使用刚刚工作配对,因此您不会有能够拥有授权方案,因此您必须实现传递键,以便您的连接进行身份验证。
谢谢mt_dialog.
谢谢Joacimwe它的工作,kinda confusing though ,will have to read up on ble security more
感谢帮助
Mohit