你好,支持!
如文档所示的代码不起作用。
uint8_t txt [] =“你什么都不想要什么?”UINT8_T键[] =“杰杰”UINT8_T HMAC [32];crypto_hmac_ctx_t hmac_status = crypto_hmac_sha256(txt,28,key,4,hmac,crypto_hmac_no_option,100);if(hmac_status == -1){//未能在100 ticks中获取AES /哈希引擎} else {//一切都很好}
执行停止在Crypto_hmac.c上的第64行停止在AD_CRYPTO_ACQUIER_AES_HASH(超时)。
cryp_hmac_ctx_t cryp_hmac_sha256 (const uint8_t *text, size_t text_sz, size_t key_sz, uint8_t *hmac, unsigned int flags, OS_TICK_TIME timeout) {int i;uint8_t k0 [CRYPTO_HMAC_SHA256_BLOCK_SZ];uint8_t h_k0_ipad [CRYPTO_HMAC_SHA256_BLOCK_SZ];uint8_t *h_k0_opad = NULL;if (ad_crypto_acquire_aes_hash(timeout) != OS_MUTEX_TAKEN) {return -1;} /*启用引擎时钟和适配器事件处理*/ ad_crypto_enable_aes_hash_event();
我找不到显示正确使用的其他代码样本,我请你帮助我。如果你能告诉我如何计算SHA256,我非常欣赏。HMAC。
我也试图解决它是一些不同的预配置执行
hw_aes_hash_init(&s);// s:hw_aes_hash_setup
但到目前为止还没找到。
谢谢,
托马斯
设备:
你好托马斯,
感谢您对我们的公共蓝牙论坛的问题。我遵循doxygen sdk文件才能使用crypto_hmac库,但我无法重现你提到的问题。我在非BLE(Freertos_Retarger)和BLE(BLE_PERITELAL)SDK示例中测试。请确保您遵循正确的步骤。附有您的方便您会找到一些屏幕截图。
a] HW / SW设置
- DA1468x Pro-DK与DA14683子板
——DA1468x_DA15xxx_SDK_1.0.14.1081
-在projects\dk_apps\features\ble_peripheral SDK路径下使用ble_peripheral
B]导入crypto_hmac库
1.打开SmartSnippets Studio(SSS)并导入BLE_PERITERAL。我建议使用Clean SDK安装或从现有的SDK中删除.metadata。
2.从“项目资源管理器”窗口展开ble_peripheral文件夹,右键单击ble_peripheral\sdk。在此文件夹下添加一个新的子文件夹。参见B_1.png图片。
3.在弹出窗口中,展开“高级”选项。请参阅b_2.png。您应该将Crypto SDK文件夹添加为链接资源。
4.项目树应该像B_3.png,加密驱动程序应该已经添加。
5.从“Project Explorer”窗口中右键单击BLE_PERITELAL并转到“属性”
6.可以在绝对路径位置(b_6.png)中设置Crypto驱动程序
7.将路径位置更改为B_7.png
8.在包含的包含中添加Crypto驱动程序,如b_8_i.png,b_8_ii.png和b_8_iii.png所示
C] SW修改
1.将crypto_hmac.h添加到ble_peripheral_task.c中
2.在custom_config_qspi.h中:
3.在for(;;)循环之前在ble_peripheral_task中添加以下代码片段。
4.为DA14683-00-Debug-QSPI配置构建项目。
5.启动调试会话,并将断点添加到“成功”中
6.应该命中断点并成功执行crypto_hmac_sha256()。
请按照所描述的程序进行操作,并通过您的反馈让我知道。
谢谢,PM_DIALOG.
嗨PM_Dialog,
你是完全正确的,它按照描述和预期工作。最后,它在我的应用程序中工作。出了什么问题?
我在HMAC计算之前做了一些AES-256解密没有称呼hw_aes_hash_disable_clock();之后。这导致了坠机。在添加这个函数调用之后,一切工作正常。
我唯一不确定的是我的参数设置是否正确,以及hw_aes_hash…()函数的顺序是否也可以?
谢谢你!
托马斯
你好托马斯,
很高兴它正在工作,谢谢你接受我的答案。我看到您创建了一个新的论坛线程(链接下面提供)。我会在新的回复你。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy -%ee2%80%93-software/aes-cbc-no-padding.
谢谢,PM_DIALOG.