如何控制加密设置

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
11个员额/ 0个新员额
最后发表
Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
如何控制加密设置

嗨对话框。

我们希望控制每个特性的加密设置。
我们能控制每种特征的加密设置吗?
如果可能,它能动态切换吗?—例如,每次按下一个键都要切换设置

谢谢你!

关键词:
设备:
PM_Dialog
离线
最后看到:11小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨Mimura,

嗨Mimura,

请查看SDK的ble_app_security示例。当在特征上启用认证(AUTH)时,加密将自动启用。此外,当启用了非身份验证(UNAUTH)时,可以对每个特征进行加密。但是在每种情况下,您都应该使用简单的安全性配置您的项目。因此,在ble_app_security项目的user_config.h头文件中定义USER_CFG_PAIR_METHOD_JUST_WORKS并取消定义USER_CFG_PAIR_METHOD_PASSKEY。另外,您应该更改特征的权限。例如,假设您想要更改CUST1_IDX_CONTROL_POINT_VAL的权限。在授权的情况下,您应该将其配置为PERM(WR, AUTH),在未授权的情况下,您应该将其配置为PERM(WR, UNAUTH)。有关安全的更多信息,请阅读教程5:配对、绑定和安全从我们的支持页面。关于动态切换,让我查一下,我会尽快回复你。请注意,我们还没有这个功能的任何示例。

谢谢,PM_Dialog

Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
嗨PM_Dialog

嗨PM_Dialog

谢谢你的回复。

我们只需要启用权限加密。
在本例中,我们配置了PERM(WR, UNAUTH),我的理解正确吗?

谢谢你!

PM_Dialog
离线
最后看到:11小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨Mimura,

嗨Mimura,

正如之前的文章中提到的,你不能只对某个特性启用加密。如果你愿意,未经授权的加密,是的,没错。

谢谢,PM_Dialog

Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
嗨PM_Dialog

嗨PM_Dialog

我们想要配置加密=启用,身份验证=不使用,授权=不使用。
所以是PERM (WR, UNAUTH),对吧?

我们还希望获得关于动态切换权限的信息。

谢谢你!

Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
嗨PM_DIalog

嗨PM_DIalog

我尝试通信测试UNAUTH特征与设置如下。-我漏掉了一点。-

[CUST1_IDX_CONTROL_POINT_RD_CHAR] ={…烫(RD,使)…},
[CUST1_IDX_CONTROL_POINT_RD_VAL] ={…烫(NTF,使)…},
[CUST1_IDX_CONTROL_POINT_RD_CFG] ={…Perm (rd, unauth) | Perm (wr, unauth),…
[CUST1_IDX_CONTROL_POINT_WR_CHAR] ={…烫(RD,使)…},
[CUST1_IDX_CONTROL_POINT_WR_VAL] ={…烫(WR, UNAUTH)…},

通过CUST1_IDX_CONTROL_POINT_RD_VAL通知Android是没有问题的。
也可以从Android写入CUST1_IDX_CONTROL_POINT_WR_VAL。
但是写入CUST1_IDX_CONTROL_POINT_RD_CFG是不好的。
Android指示GATT INTERNAL ERROR,并没有到达DA14580中的处理程序gattc_write_cmd_ind_handler。
如果“客户端特征配置描述符”权限设置为UNAUTH会有问题吗?

谢谢你!

PM_Dialog
离线
最后看到:11小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨Mimura,

嗨Mimura,

从概念上讲,我们不能加密特征,但我们总是可以加密特征的价值并解密它。使用PERM (WR, UNAUTH)权限,可以在不进行身份验证的情况下启用特征值的加密。您能否澄清并提供更多关于动态切换权限的信息?同时,强烈建议您阅读教程5:配对、绑定和安全从我们的支持页面,以更好地理解安全如何工作。

谢谢,PM_Dialog

Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
嗨PM_Dialog

嗨PM_Dialog

谢谢你的建议。

我读了教程5:配对、绑定和安全,但我的理解仍然很糟糕。
这个教程似乎有点老了。有更新吗?我们使用SDK 5.0.4。--
我们要做的是如下所示。

1.在初始化时使用混合的ENABLE和UNAUTH特性创建GATT数据库。
2.当收到一个触发器时,我想禁用UNAUTH特征的加密。

我认为建立关贸总协定数据库没有问题。但是我们没有解决一个问题。不写CCCD将会失败
我想在这方面从联核查部队的行动切换到启用行动。
我的解释好吗?

谢谢你!

Mimura
离线
最后看到:11个月1个星期前
加入:2018-10-04 04:35
嗨PM_Dialog

嗨PM_Dialog

例如,是否有可能做到以下几点?

1.添加一个变量来控制安全性(加密)。
2.如下所示修改default_app_on_connection
Void default_app_on_connection(uint8_t connection_idx, struct gapc_connection_req_ind const *param)

如果(app_env [connection_idx]。conidx ! = GAP_INVALID_CONIDX)

(省略)

如果(user_default_hnd_conf。security_request_scenario == DEF_SEC_REQ_ON_CONNECT) && (BLE_APP_SEC)
-添加一个条件。


app_easy_security_request (connection_idx);


其他的

(省略)

我们可以通过设置这个变量为0和1来控制加密吗?

谢谢你!

PM_Dialog
离线
最后看到:11小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨Mimura,

嗨Mimura,

让我查一下你的问题,我会尽快给你答复。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:11小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨Mimura,

嗨Mimura,

我无法理解您试图用所附的代码片段做什么,但是请注意,所有权限都存储在app_prf_srv_perm表中。请检查prf_init_srv_perm。default_app_on_init()在对所有服务的系统初始化中调用prf_init_srv_perm()函数。

谢谢,PM_Dialog