bluedroid BLE SMP如果两个打算完成配对的设备,如果要保证smp_calculate_f6(uint8_t* w, uint8_t* n1, uint8_t* n2, uint8_t* r, uint8_t* iocap, uint8_t* a1, uint8_t* a2, uint8_t* c)输出的c指针指向的数据一致,这两个设备需要保证smp_calculate_f6中的哪些参数输入是一致的?
时间: 2023-08-15 14:11:20 浏览: 47
要保证smp_calculate_f6输出的c指针指向的数据一致,需要保证以下参数输入一致:
1. n1和n2,它们是前面协商的随机数,需要在两个设备中都是相同的;
2. iocap,表示输入输出能力,需要在两个设备中都是相同的;
3. a1和a2,分别表示两个设备的地址,需要在两个设备中分别填入对方的地址;
4. r,表示从连接请求响应消息中获取的随机数,需要在两个设备中都是相同的。
需要注意的是,以上参数输入一致只是保证了输出的c指针指向的数据一致,要保证两个设备完成配对,还需要在整个配对过程中保证其他参数的一致性。
相关问题
BLE SMP 详细解释函数smp_encrypt_data(uint8_t* key, uint8_t key_len, uint8_t* plain_text, uint8_t pt_len, tSMP_ENC* p_out)中各个参数的作用及意思
函数`smp_encrypt_data`的参数解释如下:
- `key`:输入参数,指向加密密钥的指针。
- `key_len`:输入参数,加密密钥的长度。
- `plain_text`:输入参数,指向要加密的明文的指针。
- `pt_len`:输入参数,要加密的明文的长度。
- `p_out`:输出参数,指向加密后的输出数据的指针。
函数`smp_encrypt_data`的作用是对输入的明文进行加密,并将加密后的结果存储在输出参数`p_out`中。
在BLE SMP协议中,加密过程采用AES-CCM算法。该算法需要一个128位的加密密钥,因此参数`key`指向的密钥长度必须为16个字节。参数`plain_text`指向要加密的明文数据,长度为`pt_len`字节。加密后的结果存储在输出参数`p_out`中,其中包括加密后的数据、MIC(消息完整性校验)以及加密后的数据长度。
需要注意的是,使用该函数进行加密时,输入的密钥必须是经过安全随机数生成器生成的随机数,以保证加密过程的安全性。
bluedroid BLE SMP Client获取到的Peripheral BLE地址,跟Peripheral的本地BLE地址不一致
这可能是由于两个不同的地址类型导致的。在Bluetooth Low Energy (BLE)中,有两种类型的地址:公共地址和随机地址。公共地址是由Bluetooth SIG分配的唯一地址,而随机地址是由设备本身生成的地址。
当一个设备作为Central与一个Peripheral建立连接时,它会获取该Peripheral的地址。这个地址可以是公共地址或随机地址。如果Peripheral使用的是随机地址,那么这个地址只在连接期间有效,并且在下次连接时可能会改变。因此,当你使用bluedroid BLE SMP Client获取到Peripheral的地址时,它可能会显示一个不同的地址,这是因为它显示的是该Peripheral的公共地址,而不是它的随机地址。
要解决这个问题,你可以使用Peripheral的本地BLE地址来标识它。这个地址是由Peripheral自己生成的,并且在每次连接时都会保持不变。你可以通过询问Peripheral来获取它的本地地址,然后将它存储在Central中,以便在下次连接时使用。这样就可以确保Central和Peripheral之间的通信始终使用相同的地址。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)