cURL支持https--移植--集成mbedTLS

前言:
cURL若要支持https即SSL/TLS协议,则需要移植开源ssl库,用的最多的则是openssl、若是在嵌入式设备中使用openssl库,则编译后的大小比较大,不适合用在嵌入式设备。于是转向更小巧的mbedTLS(PolarSSL),CyaSSL 。

一、移植mbedTLS:
本次移植选用mbedTLS进行移植。
1.下载:mbedTLS 本次选用mbedtls-2.6.0-apache.tgz版本。
2.解压

 tar -xvf mbedtls-2.6.0-apache.tgz

3.根据不同的需要,可以设置不同的配置。可从mbedtls-2.6.0/configs目录下选取适合自己的config配置文件重命名为confi.h覆盖至mbedtls-2.6.0/include/config.h
4.编译命令:

make CC=arm-hisiv300-linux-gcc SHARE=1

编译前保证交叉编译工具安装,如果SHARED=1省略,会只编译静态库。

make install

二、移植cURL
1.下载 cURL 本次选择curl-7.54.0.zip版本。
2.配置需要的功能,本次只需要http/https,配置如下:

./configure --host=arm-hisiv300-linux CC=arm-hisiv300-linux-gcc --with-mbedtls=/usr/local/ --enable-optimize --disable-debug --disable-curldebug --disable-symbol-hiding --disable-dict --disable-gopher --disable-imap --disable-pop3 --disable-rtsp --disable-smtp --disable-telnet --disable-sspi --disable-smb --disable-ntlm-wb --disable-tls-srp --disable-soname-bump --disable-manual --disable-file --disable-ldap --disable-tftp --enable-http --disable-ftp --disable-ipv6

注:在刚开始编译的时候,SSL supoort看不到mbedtls显示需要查看 –with-mbedtls=/usr/local/ 此配置中mbedtls是否正确。
正确显示如下:
这里写图片描述

3.编译

make
make install

4.可执行arm-hisiv300-linux-strip 对相应的应用程序和库进行去注释信息,进一步减小大小。处理之后curl的大小102K,库的大小为643K。
5.将编译好的库以及可执行文件拷贝到板端。应用程序curl在/usr/local/bin下,库libcurl.so.4,libcurl.so.4.4.0,libcurl.so在/usr/local/lib,实际只有一个库,另外两个是软链接。

查看是否正常工作:
这里写图片描述
此时表明可以正确运行了

接着需要添加DNS到板端/etc/resolv.conf文件中,无则创建。

nameserver 114.114.114.114

试试连接百度

curl https://www.baidu.com
curl:(51) Cert verify failed: BADCERT_NOT_TRUSTED

表明没有安装证书,找一个证书放在当前目录,我下载了一个ca-bundle.crt 一些常用网站的证书在这里面。
再次运行

curl -k -cert ca-bundle.crt https://www.baidu.com

运行结果说明https访问成功了:
这里写图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyblue535

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值