使用openssl+curl让嵌入式设备实现https通讯
openssl
传输层安全性/安全套接层及其加密库
项目地址:https://gitcode.com/gh_mirrors/ope/openssl
免费下载资源
·
1、安装openssl
编译openssl库
- 下载openssl库,这里笔者下载的版本是openssl-1.1.1k.tar.gz。
- 运行tar -vxzf openssl-1.1.1k.tar.gz解压压缩包,进入openssl-1.1.1k文件夹。
- 运行 setarch i386 ./config no-asm shared --prefix=/home/lyy/work/openssl/arm-openssl --cross-compile-prefix=arm-linux-gnueabihf- 命令配置openssl并生成Makefile,具体配置参数含义如下:
setarch i386:配置架构为i386,默认是x86
no-asm:不使用汇编
shared:编译动态链接库
–prefix:指定编译安装路径
–cross-compile-prefix:指定交叉编译工具
- 修改Makefile。Makefile中使用" -m32",如果不去掉的话在后面的编译过程中将产生错误,所以需要找到" -m32"将其删除。
- 运行make 编译openssl,没有问题后继续运行make install 安装openssl。执行结束后,没有问题的话可以在之前配置指定的路径中找到生成的文件。
测试openssl
- 将编译出来的文件复制到开发板上,导出动态链接库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/customer/arm-openssl/lib 。
- 测试openssl是否能够正常运行。
2、安装curl
编译curl库
-
下载curl库,这里笔者下载的版本是curl-7.76.1.tar.gz。
-
运行tar -vxzf curl-7.76.1.tar.gz解压压缩包,进入curl-7.76.1文件夹。
-
配置curl编译选项
如果交叉编译工具下已经有openssl加密库,编译curl可能会优先使用交叉编译工具下的openssl加密库。这种情况下如果想链接自己编译的openssl库,最要显示的export出自己编译的openssl库的include和lib路径,如:
export CPPFLAGS=“-I<path_to_openssl>/include”
export LDFLAGS=“-L<path_to_openssl>/lib”运行 ./configure --prefix=/home/lyy/work/curl/libcurl --host=arm-none-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --with-ssl=/home/lyy/work/openssl/arm-openssl 命令配置openssl并生成Makefile,具体配置参数含义如下:
–prefix:指定编译安装路径
–host:指定主机
CC:指定c语言编译工具
CXX:指定c++编译工具
–with-ssl:加入ssl,并指定ssl工具的路径
可以在最后结果看到curl已经配置加入ssl,并支持https协议了。
-
运行make 编译curl,没有问题后继续运行make install 安装curl。执行结束后,没有问题的话可以在之前配置指定的路径中找到生成的文件。
测试curl
- 将编译出来的文件复制到开发板上,导出动态链接库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/customer/arm-openssl/lib::/customer/libcurl/lib。
- 查看curl版本,确定已经支持https协议。
- 测试curl是否能够正常运行。
至此,开发板已经能使用curl通过https连接到百度服务器了。
GitHub 加速计划 / ope / openssl
25.12 K
9.99 K
下载
传输层安全性/安全套接层及其加密库
最近提交(Master分支:6 天前 )
fd39d1c8
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/25095)
1 个月前
ae87c488
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/25095)
1 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)