嗨对话框。
我们想要控制每个特征的加密设置。我们能控制每个特征的加密设置吗?如果可能的话,能否动态切换?—例如,每次按下一个键时切换设置
谢谢你!
嗨Mimura,
请查看SDK的ble_app_security示例。当在特征上启用Authentication (AUTH)时,加密将自动启用。此外,在启用UNAUTH (UNAUTH)时,可以对每个特征进行加密。但是在每种情况下,您都应该使用简单的安全性配置您的项目。因此,定义USER_CFG_PAIR_METHOD_JUST_WORKS并取消在ble_app_security项目的user_config.h头文件中定义USER_CFG_PAIR_METHOD_PASSKEY。另外,您应该更改特征的权限。例如,假设您想要更改CUST1_IDX_CONTROL_POINT_VAL的权限。在授权的情况下,你应该将其配置为PERM(WR, AUTH),在未授权的情况下,你应该将其配置为PERM(WR, UNAUTH)。有关安全的更多信息,请阅读教程5:结对,绑定和安全从我们的支持页面。关于动态开关,让我查一下,我会尽快回复你。请注意,我们没有任何关于此功能的示例。
谢谢,PM_Dialog
嗨PM_Dialog
感谢您的回复。
我们只需要启用权限加密。在这种情况下,我们配置PERM(WR, UNAUTH),我的理解正确吗?
正如在前一篇文章中所提到的,您不能只对一个特征启用加密。如果你想,未经授权的加密,是的,没错。
我们希望配置加密=启用,身份验证=不使用,授权=不使用。它是PERM (WR, UNAUTH)对吧?
我们还希望获得关于动态切换权限的信息。
嗨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是OK的。但是写入CUST1_IDX_CONTROL_POINT_RD_CFG并不好。Android指示GATT内部错误,它不来处理gattc_write_cmd_ind_handler在DA14580。如果“客户端特征配置描述符”权限设置为UNAUTH,是否存在一些问题?
从概念上讲,我们不能加密一个特征,但是我们总是可以加密一个特征的值并解密它。使用PERM (WR, UNAUTH)权限,可以在不进行身份验证的情况下对特征值进行加密。你能否澄清并提供更多关于动态切换权限的信息?同时,强烈推荐阅读教程5:结对,绑定和安全从我们的支持页面来更好地理解安全性是如何工作的。
谢谢你的建议。
我读了教程5:结对,绑定和安全f,但我的理解仍然很糟糕。——这个教程似乎有点老了。有更新吗?我们使用SDK 5.0.4。--我们想做的是。
1.在初始化时使用混合的ENABLE和UNAUTH特性创建GATT DB。2.我想禁用加密的UNAUTH特征,当收到一个触发器。
我认为建立关贸总协定没有问题。——但我们没有解决Thu 2018-10-25 10:48的问题。如果不能向CCCD写入,将会失败我想在这个连接中从UNAUTH的操作切换到ENABLE的操作。我的解释正确吗?
例如,是否有可能执行以下操作?
1.添加一个变量来控制安全性(加密)。2.像下面这样修改default_app_on_connectionVoid 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)&& (new_variable == 1) <-添加条件。){app_easy_security_request (connection_idx);}}其他的{(省略)}}
我们能通过将这个变量设置为0和1来控制加密吗?
让我查一下您的问题,我会尽快回复您。
我不能理解您试图使用附加的代码片段做什么,但是请注意,所有权限都存储在app_prf_srv_perm表中。请检查prf_init_srv_perm。default_app_on_init()在所有服务的系统初始化中调用prf_init_srv_perm()函数。
嗨Mimura,
请查看SDK的ble_app_security示例。当在特征上启用Authentication (AUTH)时,加密将自动启用。此外,在启用UNAUTH (UNAUTH)时,可以对每个特征进行加密。但是在每种情况下,您都应该使用简单的安全性配置您的项目。因此,定义USER_CFG_PAIR_METHOD_JUST_WORKS并取消在ble_app_security项目的user_config.h头文件中定义USER_CFG_PAIR_METHOD_PASSKEY。另外,您应该更改特征的权限。例如,假设您想要更改CUST1_IDX_CONTROL_POINT_VAL的权限。在授权的情况下,你应该将其配置为PERM(WR, AUTH),在未授权的情况下,你应该将其配置为PERM(WR, UNAUTH)。有关安全的更多信息,请阅读教程5:结对,绑定和安全从我们的支持页面。关于动态开关,让我查一下,我会尽快回复你。请注意,我们没有任何关于此功能的示例。
谢谢,PM_Dialog
嗨PM_Dialog
感谢您的回复。
我们只需要启用权限加密。
在这种情况下,我们配置PERM(WR, UNAUTH),我的理解正确吗?
谢谢你!
嗨Mimura,
正如在前一篇文章中所提到的,您不能只对一个特征启用加密。如果你想,未经授权的加密,是的,没错。
谢谢,PM_Dialog
嗨PM_Dialog
我们希望配置加密=启用,身份验证=不使用,授权=不使用。
它是PERM (WR, UNAUTH)对吧?
我们还希望获得关于动态切换权限的信息。
谢谢你!
嗨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是OK的。
但是写入CUST1_IDX_CONTROL_POINT_RD_CFG并不好。
Android指示GATT内部错误,它不来处理gattc_write_cmd_ind_handler在DA14580。
如果“客户端特征配置描述符”权限设置为UNAUTH,是否存在一些问题?
谢谢你!
嗨Mimura,
从概念上讲,我们不能加密一个特征,但是我们总是可以加密一个特征的值并解密它。使用PERM (WR, UNAUTH)权限,可以在不进行身份验证的情况下对特征值进行加密。你能否澄清并提供更多关于动态切换权限的信息?同时,强烈推荐阅读教程5:结对,绑定和安全从我们的支持页面来更好地理解安全性是如何工作的。
谢谢,PM_Dialog
嗨PM_Dialog
谢谢你的建议。
我读了教程5:结对,绑定和安全f,但我的理解仍然很糟糕。
——这个教程似乎有点老了。有更新吗?我们使用SDK 5.0.4。--
我们想做的是。
1.在初始化时使用混合的ENABLE和UNAUTH特性创建GATT DB。
2.我想禁用加密的UNAUTH特征,当收到一个触发器。
我认为建立关贸总协定没有问题。——但我们没有解决Thu 2018-10-25 10:48的问题。如果不能向CCCD写入,将会失败
我想在这个连接中从UNAUTH的操作切换到ENABLE的操作。
我的解释正确吗?
谢谢你!
嗨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)
&& (new_variable == 1) <-添加条件。
)
{
app_easy_security_request (connection_idx);
}
}
其他的
{
(省略)
}
}
我们能通过将这个变量设置为0和1来控制加密吗?
谢谢你!
嗨Mimura,
让我查一下您的问题,我会尽快回复您。
谢谢,PM_Dialog
嗨Mimura,
我不能理解您试图使用附加的代码片段做什么,但是请注意,所有权限都存储在app_prf_srv_perm表中。请检查prf_init_srv_perm。default_app_on_init()在所有服务的系统初始化中调用prf_init_srv_perm()函数。
谢谢,PM_Dialog