项目简介
本项目基于C语言和RT-Thread操作系统,通过移植mbed TLS开源库开发了SSL/TLS测试程序。mbed TLS由ARM开源和维护,此程序用于测试mbed TLS库在嵌入式系统中的SSL/TLS连接功能,便于在嵌入式产品中使用SSL/TLS功能。
项目的主要特性和功能
主要特性
- 使用C语言实现,代码占用空间小,易于理解、使用、集成和扩展。
- 采用Apache License Version 2.0协议许可。
主要功能
- 初始化TLS会话,创建TLS会话对象并初始化网络服务器和端口信息。
- 进行TLS握手,确保客户端和服务器建立安全通信连接。
- 向服务器发送HTTP请求,支持GET或POST等请求。
- 接收服务器响应并打印到控制台。
- 检查握手连接前后的内存使用情况,了解SSL/TLS通信对内存的影响。
安装使用步骤
假设用户已经下载了本项目的源码文件。
获取软件包
在使用的BSP目录下,使用ENV工具打开menuconfig来获取软件包:
1. 配置软件包并使能示例
c
RT-Thread online packages --->
security packages --->
Select Root Certificate ---> # 选择证书文件
[*] mbedtls: An portable and flexible SSL/TLS library --- # 打开 mbedtls 软件包
[*] Store the AES tables in ROM # 将 AES 表存储在 ROM 中,优化内存占用
(2) Maximum window size used # 用于点乘的最大“窗口”大小(2-7,该值越小内存占用也越小)
(3584) Maxium fragment length in bytes # 配置数据帧大小(0x7200 错误可尝试增加该大小)
[*] Enable a mbedtls client example # 开启 mbedtls 测试例程
[ ] Enable Debug log output # 开启调试 log 输出
version (latest) ---> # 选择软件包版本,默认为最新版本
2. 选择证书文件
c
RT-Thread online packages --->
security packages --->
[*] mbedtls: An portable and flexible SSL/TLS library --- # 打开 mbedtls 软件包
Select Root Certificate ---> # 选择证书文件
[ ] Using all default CA(Use preset CA certificates. Take up more memory)
[ ] Using user CA(copy your Root CA file to mbedtls package "certs" directory)
[*] Using Digital Signature Trust Root CA # 测试例程需要使用的证书
3. 使用 pkgs --update
命令下载软件包
编译运行
- 编译:使用RT-Thread的交叉编译工具链进行编译,确保链接到正确的mbed TLS库版本。
- 运行:在RT-Thread操作系统上运行编译后的程序,并确保网络连接正常。
- 测试:运行程序后,按照提示进行SSL/TLS连接测试,并观察输出结果。
更多参考
- 如何从零开始使用,请参考 用户手册
- 完整的API文档,请参考 API手册
- 详细的示例介绍,请参考 示例文档
- mbedtls协议工作原理,请参考 工作原理
- mbedtls RAM和ROM优化,请阅读 资源占用优化指南
- 更多详细介绍文档位于
/docs
文件夹下,使用软件包进行开发前请务必查看。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】