mbedtls簡介:
從功能角度來看,mbedtls分成三部分:
1)密碼學工具箱實現
2)X.509證書處理實現
3)TLS/DTLS協議實現
相比於OpenSLL,mbedtls小巧靈活而且易於使用,具有多種配置選項,可根據實際情況靈活地裁剪代碼,降低對硬件平臺的資源佔用,mbedtls的測試用例保證了mbedtls的穩定性和可靠性。
一般規模的公司很難獨立開發新的密碼學算法,建議再物聯網安全應用中選擇已有的安全算法。這部分基本是移植過來,懂得基本原理和使用即可,無需過多關注密碼學內容即可保證系統的加密安全性。
可以看到,mbedtls是基於TCP/IP傳輸層協議封裝的一層通訊加密接口,移植後應用層直接調用即可。
安裝方法:
$ sudo apt-get update
$ sudo apt-get install cmake // 下載cmake
$ git clone https://github.com/ARMmbed/mbedtls.git
$ cd mbedtls/
$ cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On . // 啓用生成動態鏈接庫選項
$ make
$ sudo make install
$ sudo ldconfig
$ echo "export MBEDTLS_BASE=mbedtls源代碼路徑" >> $HOME/.bashrc // 添加環境變量
$ source $HOME/.bashrc
驗證是否安裝成功:
$ hello
若安裝成功則會打印如下內容:MD5('Hello, world!') = 6cd3556deb0da54bca060b4c39479839
如何對mbedtls進行裁剪:
mbedtls可通過修改配置文件的方式進行裁剪,默認的配置文件位於include/mbedtls/config.h文件中