Repolode
Mbed-TLS

Mbed-TLS/mbedtls

一个小巧、可移植的 C 语言库,实现 X.509 证书处理及 TLS、DTLS 协议,适合嵌入式系统。

Star
7,008
Fork
2,990
未关闭 Issue
1,748
最近提交
4天前

这是什么?

Mbed TLS 是一个 C 语言库,提供 X.509 证书处理以及 TLS 和 DTLS 协议实现。其代码体积较小,适合资源受限的嵌入式系统。

项目包含 TF-PSA-Crypto 仓库,提供 PSA Cryptography API 的实现。配置既可以手动编辑头文件,也可以通过 Python 脚本修改,另外还提供了面向特定场景的非标准配置。

构建系统基于 CMake,会分别生成加密、X.509 和 TLS 三个库。项目还附带示例程序、较完整的测试套件,并可用 Doxygen 生成 API 文档。

核心功能

  • 01实现 TLS 和 DTLS 协议,并支持 X.509 证书处理。
  • 02通过 TF-PSA-Crypto 提供 PSA Cryptography API 的实现。
  • 03可在编译期通过头文件或 Python 脚本进行配置。
  • 04基于 CMake 构建,支持生成动态库或静态库。
  • 05附带示例程序和测试套件。

适用场景

  • 为微控制器或其他嵌入式设备的固件添加 TLS 加密通信。
  • 开发需要解析证书并建立安全网络连接的 C 或 C++ 应用。
  • 在资源受限的产品中集成符合 PSA 标准的密码学功能。

快速上手

  1. 1

    克隆后初始化子模块

    git submodule update --init --recursive
  2. 2

    创建构建目录并使用 CMake 配置

    mkdir /path/to/build_dir && cd /path/to/build_dir cmake /path/to/mbedtls_source
  3. 3

    构建库文件

    cmake --build .
  4. 4

    运行测试套件

    ctest

使用前须知

  • 测试套件需要 Python,部分生成文件还需要 Perl 和 Python 软件包。
  • 开发分支的构建前必须先初始化 git 子模块。

标签

常见问题

mbedtls 是什么?
一个小巧、可移植的 C 语言库,实现 X.509 证书处理及 TLS、DTLS 协议,适合嵌入式系统。 Mbed TLS 是一个 C 语言库,提供 X.509 证书处理以及 TLS 和 DTLS 协议实现。其代码体积较小,适合资源受限的嵌入式系统。
mbedtls 可以免费使用吗?用的什么许可证?
mbedtls 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
mbedtls 还在维护吗?
活跃维护中。mbedtls 最近一次提交是在 2026年10月16日。
mbedtls 适合用来做什么?
为微控制器或其他嵌入式设备的固件添加 TLS 加密通信。 开发需要解析证书并建立安全网络连接的 C 或 C++ 应用。 在资源受限的产品中集成符合 PSA 标准的密码学功能。
mbedtls 怎么安装和运行?
克隆后初始化子模块: git submodule update --init --recursive 创建构建目录并使用 CMake 配置: mkdir /path/to/build_dir && cd /path/to/build_dir cmake /path/to/mbedtls_source 构建库文件: cmake --build . 运行测试套件: ctest
在哪里获取 mbedtls?
源代码和安装说明在 GitHub 上:https://github.com/Mbed-TLS/mbedtls

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目