openssl移植到ARM Linux

openssl简介

  OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。


开发环境

  Ubuntu 16.04

  aarch64-linux-gnu-gcc version 5.4.0

  开发环境不一定是我这配置,只要是linux操作系统,和ARM对应的交叉工具链就可以。


目标环境

  rockchip px30(Cotex A35)

  内核版本:4.4.143


移植步骤

  1.从OpenSSL官网下载最新源码 openssl-1.0.2l.tar.gz。

  2.执行下面命名解压缩:

tar zxvf openssl-1.0.2l.tar.gz 
1

  3.进入刚解压的目录cd openssl-1.0.2l/,执行下面指令,做相应的配置:

./config no-asm shared --prefix=$(pwd)/__install
1

no-asm: 是在交叉编译过程中不使用汇编代码代码加速编译过程,原因是它的汇编代码是对arm格式不支持的。

shared :生成动态连接库。

--prefix :指定make install后生成目录的路径,不修改此项则默认为OPENSSLDIR目录(/usr/local/ssl)。

  4.修改Makefile:

        具体见附件Makefile

openssl移植到ARM Linux
CC= aarch64-linux-gnu-gcc

注:上面各项都是修改后的,没有增加内容,只是在原来基础上做修改,故没有列出修改前的内容。

  5.执行下面命令,编译OpenSSL库:

make
1

  6.执行下面命令,将编译好的库文件拷贝到指定目录:

make install


  7.include下文件在编译程序的时候需要指定include的路径。而lib下在程序运行时会用到,需要将lib下文件拷贝到开发板中。



安装错误
make install
installing man1/smime.1
  smime.pod around line 272: Expected text after =item, not a number
  smime.pod around line 276: Expected text after =item, not a number
  smime.pod around line 280: Expected text after =item, not a number
  smime.pod around line 285: Expected text after =item, not a number
  smime.pod around line 289: Expected text after =item, not a number
 POD document had syntax errors at /usr/bin/pod2man line 71.
  make: *** [install_docs]


解决方法:

打开/usr/bin/pod2man 这个配置文件看一下  可以的话 注释掉 第71行  在编译 用#注释
参考:
https://blog.csdn.net/u010696228/article/details/44977497?

Attachment List

     

    openssl移植到ARM Linux

    上一篇:单点登录 linux上搭建cas服务端


    下一篇:linux命令之 crontab