ECDSA等长时间运行的操作在app_process_catch_rest_cb处理程序中验证签名

了解更多常见问题教程

4个职位/ 0个新职位
最后发表
tly@xtel.dk
离线
最后看到:1个月4个星期前
加入:2014-03-28 08:27
ECDSA等长时间运行的操作在app_process_catch_rest_cb处理程序中验证签名

我们有一个BLE外围系统。它实现了一组读取和写入的特征。我们已经为一个特定的特征实现了一个写指示处理程序。这个特征是64字节长。当连接的中心端写入这个特征(使用write-with-response)时,我们在app_process_catch_rest_cb所指向的方法中运行一个ECDSA签名验证过程。这个操作大约需要1.2秒,这意味着处理程序在app_process_catch_rest_cb内部的CUSTS1_VAL_WRITE_IND处理中被阻塞。这使得中央(在本例中是iOS)放弃连接,因为监督超时是720ms(特定于iOS)。

我们需要将这个ECDSA签名验证推迟到Dialog BLE SDK中的某种“后台线程”,但我们不知道从哪里开始寻找。

在14585上的6.0.6 SDK中有一个Dialog/ riverwave方法来做这件事吗?

设备:
PM_Dialog
离线
最后看到:9小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨tly@xtel.dk,

tly@xtel.dk

DA1458x产品没有一亚博电竞菠菜个调度程序可以将任务调度到更小的进程中,以减少任务的执行时间。1.2秒的执行时间太长。一个可能的解决方案可能是以某种方式划分流程,并将ECDSA签名验证代码片段放入app_on_ble_powered回调函数中。

谢谢,PM_Dialog

tly@xtel.dk
离线
最后看到:1个月4个星期前
加入:2014-03-28 08:27
这就是我们

这正是我们所期望的,但想看看是否有其他的解决方案,而不是这里建议的。我们一直在研究不同的设备;MacBook, iPhone和Android,它们都有不同的初始监督超时参数。720毫秒(iPhone), 2000毫秒(MacBook)和5000毫秒(Android - Note 8)。我们已经研究了初始监督超时参数的代码,但它似乎没有改变任何东西。我们也一直在研究苹果公司的以下文件https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf(11.6节)。

你能给我们指出,如何改变Dialog SDK中的初始连接参数吗?我们希望它是user_config.h文件中的“user_connection_param_conf”。但这似乎并没有改变什么。

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

tly@xtel.dk

user_connection_param_conf用于配置更新连接参数。请检查一下SDK的user_config.h头文件中存在的user_gapm_conf结构。

谢谢,PM_Dialog