嵌入式Linux系统openssl库移植

openssl库移植

1 什么是openssl

可以这么说,只要你的应用程序和网络安全有关系,不管是http还是mqtt,那么都需要依赖到openssl;首先openssl是一个开源库,功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法**生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。

几个名词大家也许听过:SSL,非对称加密,数字签名,数字证书链,数据完整性;这些都是信息安全所会涉及到的,内容比较多而且枯燥,我们有时间会专门出个章节或者视频来讲解;本章内容我们会移植openssl进行交叉编译,主要是libevent的https组件需要依赖到该安全库。

2  openssl的交叉编译

获取openssl开源库同样可以通过github和官网两个方式,我们还是推荐通过官方网站来下载:https://www.openssl.org/

我们使用的openssl版本是:1.0.2d,源码如下:

a、配置

运行命令: ./Configure shared linux-aarch64

没有提示error就表示配置成功:

修改Makefile:  vim Makefile

改成arm:

还有:

改成:

也就是加上前缀: aarch64-linux-gnu-

b、编译及安装

运行命令: make depend   完成后再  make install

编译最后有一个error,这是md2test的问题,没有关系,我们ls查看已经可以看到链接库生成出来了,file查看属性:

可以看到文件的格式已经正确了,好的,到这里openssl就完成了移植,使用时只需要链接对应的动态库即可。

 

============================================================================================================================================================

如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648

欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!一起加油!!也可点击

 

笔者基于嵌入式系统框架内容如下整理编辑: