嗨对话框。
我们希望控制每个特征的加密设置。我们能控制每种特征的加密设置吗?如果可能,它可以动态切换吗?- 例如,每次按下键都切换设置.-
谢谢你。
嗨mimura,
请检查SDK的BLE_APP_SECURY示例。在特征上启用了身份验证(验证)时,会自动启用加密。此外,您可以在启用未验证(UNAUTH)时对每个特征进行加密。但在每种情况下,您应该以简单的安全配置项目。所以,define user_cfg_pair_method_just_works和Un-define在ble_app_security项目的user_config.h头文件中的user_cfg_pair_method_passkey。此外,您应该更改特性的权限。例如,假设您想更改Cust1_IDX_CONTROL_POINT_PONT_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] = {... prem(rd,启用),...},[cust1_idx_control_point_rd_val] = {... prem(ntf,启用),...},[CUST1_IDX_CONTROL_POINT_RD_CFG] ={…Perm (rd, unauth) | Perm (wr, unauth),…[cust1_idx_control_point_wr_char] = {.... perm(rd,启用),...},[cust1_idx_control_point_wr_val] = {... prem(wr,unauth),...},
通过CUST1_IDX_CONTROL_POINT_RD_VAL通知Android是没有问题的。也可以从Android写入CUST1_IDX_CONTROL_POINT_WR_VAL。但是写信给cust1_idx_control_point_rd_cfg并不好。Android表示GATT内部错误,它不会在DA14580中处理gattc_write_cmd_ind_handler。如果“客户特性配置描述符”权限设置为UNAUTH,则是否存在一些问题?
概念上,我们无法加密特征,但我们总是可以加密特征和解密的价值。使用PERM(WR,UNAUTU)权限,您可以在没有身份验证的情况下启用要进行特性值的加密。您能否澄清并提供有关动态切换权限的更多信息?此外,强烈建议阅读教程5:配对,粘接与安全从我们的支持页面到解安全工作如何更好。
谢谢你的建议。
我读了教程5:配对、绑定和安全,但我的理解仍然很糟糕。- 这个教程似乎有点旧。有更新吗?我们使用SDK 5.0.4。-我们要做的是如下所示。
1.在初始化时使用混合启用和UNAUTH创建GATT DB。2.在接收触发时,我想禁用Unauth特征性的加密。
我认为创建GATT DB没问题。- 但我们不解决星期四的问题,2018-10-25 10:48。未写信给CCCD会失败.--我想从On Unauth的操作切换到在该连接中启用的操作。我的解释好吗?
例如,是否有可能执行以下操作?
1.添加变量以控制安全性(加密)。2.根据下面修改default_app_on_connectionvoid default_app_on_conection(uint8_t connection_idx,struct gapc_connection_req_ind const * param){如果(app_env [connection_idx]。conidx ! = GAP_INVALID_CONIDX){(省略)
if((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_SECURY示例。在特征上启用了身份验证(验证)时,会自动启用加密。此外,您可以在启用未验证(UNAUTH)时对每个特征进行加密。但在每种情况下,您应该以简单的安全配置项目。所以,define user_cfg_pair_method_just_works和Un-define在ble_app_security项目的user_config.h头文件中的user_cfg_pair_method_passkey。此外,您应该更改特性的权限。例如,假设您想更改Cust1_IDX_CONTROL_POINT_PONT_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] = {... prem(rd,启用),...},
[cust1_idx_control_point_rd_val] = {... prem(ntf,启用),...},
[CUST1_IDX_CONTROL_POINT_RD_CFG] ={…Perm (rd, unauth) | Perm (wr, unauth),…
[cust1_idx_control_point_wr_char] = {.... perm(rd,启用),...},
[cust1_idx_control_point_wr_val] = {... prem(wr,unauth),...},
通过CUST1_IDX_CONTROL_POINT_RD_VAL通知Android是没有问题的。
也可以从Android写入CUST1_IDX_CONTROL_POINT_WR_VAL。
但是写信给cust1_idx_control_point_rd_cfg并不好。
Android表示GATT内部错误,它不会在DA14580中处理gattc_write_cmd_ind_handler。
如果“客户特性配置描述符”权限设置为UNAUTH,则是否存在一些问题?
谢谢你。
嗨mimura,
概念上,我们无法加密特征,但我们总是可以加密特征和解密的价值。使用PERM(WR,UNAUTU)权限,您可以在没有身份验证的情况下启用要进行特性值的加密。您能否澄清并提供有关动态切换权限的更多信息?此外,强烈建议阅读教程5:配对,粘接与安全从我们的支持页面到解安全工作如何更好。
谢谢,PM_DIALOG.
嗨PM_Dialog
谢谢你的建议。
我读了教程5:配对、绑定和安全,但我的理解仍然很糟糕。
- 这个教程似乎有点旧。有更新吗?我们使用SDK 5.0.4。-
我们要做的是如下所示。
1.在初始化时使用混合启用和UNAUTH创建GATT DB。
2.在接收触发时,我想禁用Unauth特征性的加密。
我认为创建GATT DB没问题。- 但我们不解决星期四的问题,2018-10-25 10:48。未写信给CCCD会失败.--
我想从On Unauth的操作切换到在该连接中启用的操作。
我的解释好吗?
谢谢你。
嗨PM_Dialog
例如,是否有可能执行以下操作?
1.添加变量以控制安全性(加密)。
2.根据下面修改default_app_on_connection
void default_app_on_conection(uint8_t connection_idx,struct gapc_connection_req_ind const * param)
{
如果(app_env [connection_idx]。conidx ! = GAP_INVALID_CONIDX)
{
(省略)
if((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.