嗨,对话框我想实现在蓝牙连接时有个认证身份的机制,避免所有的手机应用程序都能连接我的DA14583,请问有什么机制可以实现?谢谢。
你好
有内置的安全管理机制,允许外部设备配对(配对,可以进行单次连接)或者绑定(成键,配对以后记录永久性的密钥),广播配置选项里也可以设置针对白名单设备开放扫描或者连接,允许灵活性的身份认证
可以参考SDK里面DA1458x_SDK \ target_apps \ ble_examples \ \ 5.0.x \项目ble_app_security的工程代码来了解相关功能。需要额外说明请参考软件开发者手册(嗯- b - 050)的8.38 ~ 8.49节里的指示和解说
你好,我使用的5.0.3的SDK我们没有发现DA1458x_SDK \ 5.0。x \ target_apps \ ble_examples \ \项目ble_app_security的工程啊。我只发现了有这些工程:ble_app_barebone ble_app_peripheral ble_app_profile prox_monitor_ext prox_reporter prox_reporter_ext prox_reporter_ext_spi
烦请下载目前最新发布的SDK5.0.4
你好我已经下了,但是我的项目已经在5.0.3上完成了,我想在5.0.3上班添加链接配对,可以吗?有没有例子?你的5.0.4在app_easy_security有比较大的改动直接移到5.0.3上没编译通过。
这里给你一些操作步骤用于给SDK5.0.3里的ble_app_profile工程添加配对功能,希望对你的研发有帮助:
1.在da1458x_config_basic.h里,定义CFG_APP_SECURITY
(改成#定义CFG_APP_SECURITY)
2.在user_config.h里找的到结构体security_configurationuser_security_configuration,按如下修改:
Static const struct security_configuration user_security_configuration = {
.oob = GAP_OOB_AUTH_DATA_NOT_PRESENT,
.key_size = KEY_LEN,
.iocap = GAP_IO_CAP_DISPLAY_ONLY,
.auth = GAP_AUTH_REQ_MITM_BOND,
.sec_req = GAP_SEC1_AUTH_PAIR_ENC,
.ikey_dist = GAP_KDIST_SIGNKEY,
.rkey_dist = GAP_KDIST_ENCKEY,
.tk = {
。key = {0 x40 0 xe2 0 x01 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0},
},
.csrk = {
xab。key = {0, 0 xab 0 x45 0 x55 0 x23 0 x01, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0},
};
关键的值为十六进制:0 x01e240 = 123456,这里为了示范使用固定密码来配,对实际使用是随机生成的,看下一步
3.在app_default_handlers.c中将函数default_app_on_tk_exch_nomitm()的头两行conmment掉。这两行用于生成随机的配对码(函数app_sec_gen_tk())。如果有需要也可以不conmment这两行,添加打印输出这个随机码以便在配对时使用
Void default_app_on_tk_exch_nomitm(uint8_t connection_idx, struct gapc_bond_req_ind const * param)
{
// uint32_t pin_code = app_sec_gen_tk();
// app_easy_security_set_tk(connection_idx, (uint8_t*) &pin_code, 4);
app_easy_security_tk_exch (connection_idx);
}
4.在user_config.h中将.security_request_scenario = DEF_SEC_REQ_NEVER
改成
.security_request_scenario = DEF_SEC_REQ_ON_CONNECT
#定义EXCLUDE_DLG_SEC (0)
6.
Static const struct app_callbacks user_app_callbacks = {
.app_on_connection = default_app_on_connection,
.app_on_disconnect = default_app_on_disconnect,
.app_on_update_params_rejected =零,
.app_on_update_params_complete =零,
.app_on_set_dev_config_complete = default_app_on_set_dev_config_complete,
.app_on_adv_undirect_complete = default_app_on_adv_undirect_complete,
.app_on_adv_direct_complete =零,
.app_on_db_init_complete = default_app_on_db_init_complete,
.app_on_scanning_completed =零,
.app_on_adv_report_ind =零,
.app_on_pairing_request = default_app_on_pairing_request,
.app_on_tk_exch_nomitm = default_app_on_tk_exch_nomitm,
.app_on_irk_exch =零,
.app_on_csrk_exch = default_app_on_csrk_exch,
.app_on_ltk_exch = default_app_on_ltk_exch,
.app_on_pairing_succeded =零,
.app_on_encrypt_ind =零,
.app_on_mitm_passcode_req =零,
.app_on_encrypt_req_ind = default_app_on_encrypt_req_ind,
以上代码修改仅用于测试配对功能,一次只能绑定一台设备且掉电后无法重连(绑定信息存在RAM里),需要绑定多台设备请参考支持网站参考设计里的键盘,鼠标等支持多设备连接绑定的工程代码。
你好,请问你的网站在什么地方可以提交问题?我怎么都找不到提交问题的入口了。
你好
有内置的安全管理机制,允许外部设备配对(配对,可以进行单次连接)或者绑定(成键,配对以后记录永久性的密钥),广播配置选项里也可以设置针对白名单设备开放扫描或者连接,允许灵活性的身份认证
可以参考SDK里面DA1458x_SDK \ target_apps \ ble_examples \ \ 5.0.x \项目ble_app_security的工程代码来了解相关功能。需要额外说明请参考软件开发者手册(嗯- b - 050)的8.38 ~ 8.49节里的指示和解说
你好,
我使用的5.0.3的SDK我们没有发现DA1458x_SDK \ 5.0。x \ target_apps \ ble_examples \ \项目ble_app_security的工程啊。
我只发现了有这些工程:ble_app_barebone ble_app_peripheral ble_app_profile prox_monitor_ext prox_reporter prox_reporter_ext prox_reporter_ext_spi
烦请下载目前最新发布的SDK5.0.4
你好
我已经下了,但是我的项目已经在5.0.3上完成了,我想在5.0.3上班添加链接配对,可以吗?有没有例子?你的5.0.4在app_easy_security有比较大的改动直接移到5.0.3上没编译通过。
这里给你一些操作步骤用于给SDK5.0.3里的ble_app_profile工程添加配对功能,希望对你的研发有帮助:
1.在da1458x_config_basic.h里,定义CFG_APP_SECURITY
(改成#定义CFG_APP_SECURITY)
2.在user_config.h里找的到结构体security_configurationuser_security_configuration,按如下修改:
Static const struct security_configuration user_security_configuration = {
.oob = GAP_OOB_AUTH_DATA_NOT_PRESENT,
.key_size = KEY_LEN,
.iocap = GAP_IO_CAP_DISPLAY_ONLY,
.auth = GAP_AUTH_REQ_MITM_BOND,
.sec_req = GAP_SEC1_AUTH_PAIR_ENC,
.ikey_dist = GAP_KDIST_SIGNKEY,
.rkey_dist = GAP_KDIST_ENCKEY,
.tk = {
。key = {0 x40 0 xe2 0 x01 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0},
},
.csrk = {
xab。key = {0, 0 xab 0 x45 0 x55 0 x23 0 x01, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0, 0 x0},
},
};
关键的值为十六进制:0 x01e240 = 123456,这里为了示范使用固定密码来配,对实际使用是随机生成的,看下一步
3.在app_default_handlers.c中将函数default_app_on_tk_exch_nomitm()的头两行conmment掉。这两行用于生成随机的配对码(函数app_sec_gen_tk())。如果有需要也可以不conmment这两行,添加打印输出这个随机码以便在配对时使用
Void default_app_on_tk_exch_nomitm(uint8_t connection_idx, struct gapc_bond_req_ind const * param)
{
// uint32_t pin_code = app_sec_gen_tk();
// app_easy_security_set_tk(connection_idx, (uint8_t*) &pin_code, 4);
app_easy_security_tk_exch (connection_idx);
}
4.在user_config.h中将.security_request_scenario = DEF_SEC_REQ_NEVER
改成
.security_request_scenario = DEF_SEC_REQ_ON_CONNECT
#定义EXCLUDE_DLG_SEC (0)
6.
Static const struct app_callbacks user_app_callbacks = {
.app_on_connection = default_app_on_connection,
.app_on_disconnect = default_app_on_disconnect,
.app_on_update_params_rejected =零,
.app_on_update_params_complete =零,
.app_on_set_dev_config_complete = default_app_on_set_dev_config_complete,
.app_on_adv_undirect_complete = default_app_on_adv_undirect_complete,
.app_on_adv_direct_complete =零,
.app_on_db_init_complete = default_app_on_db_init_complete,
.app_on_scanning_completed =零,
.app_on_adv_report_ind =零,
.app_on_pairing_request = default_app_on_pairing_request,
.app_on_tk_exch_nomitm = default_app_on_tk_exch_nomitm,
.app_on_irk_exch =零,
.app_on_csrk_exch = default_app_on_csrk_exch,
.app_on_ltk_exch = default_app_on_ltk_exch,
.app_on_pairing_succeded =零,
.app_on_encrypt_ind =零,
.app_on_mitm_passcode_req =零,
.app_on_encrypt_req_ind = default_app_on_encrypt_req_ind,
};
以上代码修改仅用于测试配对功能,一次只能绑定一台设备且掉电后无法重连(绑定信息存在RAM里),需要绑定多台设备请参考支持网站参考设计里的键盘,鼠标等支持多设备连接绑定的工程代码。
你好,请问你的网站在什么地方可以提交问题?我怎么都找不到提交问题的入口了。