littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于C语言和RTThread的SSLTLS测试程序

项目简介

本项目基于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 命令下载软件包

编译运行

  1. 编译:使用RT-Thread的交叉编译工具链进行编译,确保链接到正确的mbed TLS库版本。
  2. 运行:在RT-Thread操作系统上运行编译后的程序,并确保网络连接正常。
  3. 测试:运行程序后,按照提示进行SSL/TLS连接测试,并观察输出结果。

更多参考

  • 如何从零开始使用,请参考 用户手册
  • 完整的API文档,请参考 API手册
  • 详细的示例介绍,请参考 示例文档
  • mbedtls协议工作原理,请参考 工作原理
  • mbedtls RAM和ROM优化,请阅读 资源占用优化指南
  • 更多详细介绍文档位于 /docs 文件夹下,使用软件包进行开发前请务必查看。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】