在gapbondmgr.h中定义了如下内容:
/** @defgroup GAPBOND_KEY_DIST_DEFINES GAP Bond Manager Key Distribution * @{ */ #define GAPBOND_KEYDIST_SENCKEY0x01 //!< Slave Encryption Key #define GAPBOND_KEYDIST_SIDKEY0x02 //!< Slave IRK and ID information #define GAPBOND_KEYDIST_SSIGN0x04 //!< Slave CSRK #define GAPBOND_KEYDIST_SLINK0x08 //!< Slave Link Key #define GAPBOND_KEYDIST_MENCKEY0x10 //!< Master Encrypton Key #define GAPBOND_KEYDIST_MIDKEY0x20 //!< Master IRK and ID information #define GAPBOND_KEYDIST_MSIGN0x40 //!< Master CSRK #define GAPBOND_KEYDIST_MLINK0x80 //!< Master Link Key /** @} End GAPBOND_IO_CAP_DEFINES */
总结下来,就是Encryption Key, IRK, SRK, Link Key。我想问如下5个问题:
1. IRK、SRK若不设置,是不是不影响绑定和通讯?这两个Key会影响什么?
2. Encryption Key和Link Key的区别是什么?手机上输入的000000是Link Key吗?
3. 若密码是123456,输入后空中数据是否被加密传输了?这个加密的Key是由123456在底层自动生成的吗?
4. Encryption Key是在哪一层加密的?已经绑定还要再加个Encryption Key吗?
5. AES这个外设在哪个Key调用了?手动调用还是设置好了Key,用了API函数后自动调用?
希望能得到各位高手的详细解答,谢谢!
关东糖:
回复 Yan:
谢谢 Y !
您推荐的这篇文章很好用,感谢解答!
user4587069:
回复 关东糖:
hi 你好 我现在碰到了flash紧缺想把你说的这些key去掉,如你之前说的 去掉后会影响连接吗?
关东糖:
回复 user4587069:
不能去掉,这些是蓝牙协议需要的。