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文件中