mbedtls学习1.mbedtsl是什么?

1、介绍

mbedTLS(前身 PolarSSL)是一个由 ARM 公司开源和维护的 SSL/TLS 算法库。其使用 C 编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品中使用 SSL/TLS 功能。

该 mbedtls 软件包是 RT-Thread 基于 ARMmbed/mbedtls 开源库 v2.6.0 版本移植的.

1.1提供功能

mbedTLS** 软件包提供了如下的能力:

  • 完整的 SSL v3TLS v1.0TLS v1.1TLS v1.2 协议实现
  • X.509 证书处理
  • 基于 TCP 的 TLS 传输加密
  • 基于 UDP 的 DTLS(Datagram TLS)传输加密
  • 其它加解密库实现

有关 mbedTLS 的更多信息,请参阅 https://tls.mbed.org。

1.2关键框架图

mbedTLS 软件包提供了一组可以单独使用和编译的加密组件,各组件及其可能的依赖关系如下图所示:
mbedtls学习1.mbedtsl是什么?_第1张图片

1.3 目录结构

名称 说明
certs CA 证书存放目录
docs 文档目录
mbedtls ARM mbedtls 源码
ports 移植文件目录
samples 示例文件目录
LICENSE 许可证文件
README.md 软件包使用说明
SConscript RT-Thread 默认的构建脚本

1.4 许可证

Apache License Version 2.0 协议许可。

2、获取软件包

在使用的 BSP 目录下,使用 ENV 工具打开 menuconfig 来获取软件包。

  • 配置软件包并使能示例
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)  --->           # 选择软件包版本,默认为最新版本
  • 选择证书文件
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       # 测试例程需要使用的证书
- `Using all default CA` 配置选项会将 `certs/default` 目录下的所有预置证书加入编译,将占用很大的内存
- `Using user CA` 配置选项允许用户将自己需要的证书文件加入编译,需要用户将证书文件拷贝到 `certs` 根目录
- 更多使用说明请参阅 [软件包详细介绍](docs/introduction.md)
  • 使用 pkgs --update 命令下载软件包

3、参考资料

  • mbedTLS官方网站:https://tls.mbed.org/
  • ARMmbed GitHub:[mbedtls

你可能感兴趣的:(#,应用协议)