1、介紹
mbedTLS(前身 PolarSSL)是一個由 ARM 公司開源和維護的 SSL/TLS 算法庫。其使用 C 編程語言以最小的編碼佔用空間實現了 SSL/TLS 功能及各種加密算法,易於理解、使用、集成和擴展,方便開發人員輕鬆地在嵌入式產品中使用 SSL/TLS 功能。
該 mbedtls 軟件包是 RT-Thread 基於 ARMmbed/mbedtls 開源庫 v2.6.0 版本移植的.
1.1 目錄結構
名稱 | 說明 |
---|---|
certs | CA 證書存放目錄 |
docs | 文檔目錄 |
mbedtls | ARM mbedtls 源碼 |
ports | 移植文件目錄 |
samples | 示例文件目錄 |
LICENSE | 許可證文件 |
README.md | 軟件包使用說明 |
SConscript | RT-Thread 默認的構建腳本 |
1.2 許可證
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