Telink TLSR825x系列——Mbed TLS(mbedtls)库的简单移植和使用

使用蓝牙设备接入HarmonyOS智慧生活,设备注册后,必须使用密钥来对通信进行加解密。

Mbed TLS简介

相比互联网的openSSL,物联网的嵌入式设备适合小巧灵活的MbedTLS,曾用名PolarSSL,可以根据需求进行配置,降低对硬件资源的消耗。
mbedtls是一款采用Apache 2.0许可证协议开源软件加密库,使用标准C语言编写;独立的模块设计,降低模块之间的耦合度。
Mbed TLS官网

mbedtls官方名称为Mbed TLS,如果网上搜不到相关资源,就用“Mbed TLS”来做关键词来搜索,毕竟对搜索引擎来说“Mbed TLS”和“mbedtls”搜索的是不同的东西。

下面介绍如何简单的植入和使用mbedtls, 希望在不同开发平台开发的同学可以找到启发。

获取MbedTLS源码

这是官方的下载地址 https://github.com/Mbed-TLS/mbedtls
打不开的原因各位同学都懂的。
本人使用的是2.24.0版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解压后的目录如下, 我们只使用 configs,include 和 library 这三个目录下的文件
在这里插入图片描述

植入步骤

1.导入文件

  • 新建目录mbedtls
  • include /mbedtls目录下的所有文件复制到新建目录mbedtls
  • include/psa整个目录和下的文件复制到新建目录mbedtls
  • library目录下的所有文件复制到新建目录mbedtls
  • 删除config.h文件多余的内容,最终代码如下
    在这里插入图片描述

2.根据项目所需而使用相应的模块

不同品牌/平台和芯片型号或者编译器不一定对所有的mbedtls算法都支持,有些情况可能导致编译的失败,而当你又找不到原因的时候,你内心会崩溃的,所以重要的事情说三遍:
只编译项目所需的模块
只编译项目所需的模块
只编译项目所需的模块

华为提供的实例代码是这样的
在这里插入图片描述
于是我们就全局搜索mbedtls_md_context_t这个类型是在哪个模块定义的,结果显示是在md.h文件中定义的,因此必须引入这个文件。以此类推,搜索要使用到的类型和函数,结果显示在md.hpkcs5.h这两个文件中定义的。
测试代码如下

/**
 * 使用
 * #define	size_t	TLK_SIZE_T
 * #undef size_t
 * 解决 size_t重定义的冲突
 */
#define	size_t	TLK_SIZE_T
#include "mbedtls/md.h"
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值