openssl移植linux编译,openssl移植到ARM Linux

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

开发环境

Ubuntu 16.04

arm-Linux-gnueabi-gcc version 4.6.3

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

目标环境

中兴ZX902C(Cotex A9)

内核版本:3.0.1

移植步骤

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

2.执行下面命名解压缩:tar zxvf openssl-1.0.2l.tar.gz1

3.进入刚解压的目录cd openssl-1.0.2l/,执行下面指令,做相应的配置:./config no-asm shared --prefix=$(pwd)/__install1

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

shared :生成动态连接库。

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

4.修改Makefile:CC= /home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc (此处交叉工具链用绝对路径,当然也可以将路劲添加到环境变量就只需写工具链即可:CC= arm-linux-gnueabi-gcc)

删除 CFLAG= 中的-m64

AR= /home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-ar $(ARFLAGS) r

RANLIB= /home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-ranlib

NM= /home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-nm

SHARED_LDFLAGS=1

2

3

4

5

6

7

8

9

10

11

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

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

6.执行下面命令,将编译好的库文件拷贝到指定目录:make install1如下图所示在当前目录下的__install目录下生成了头文件和库文件:1

2

fe53f4a8eb24d6d53df02ee861195ab4.png

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

把libssl.so.0.9.8、libcrypto.so.0.9.8拷贝到/usr/local/lib,并执行:

ln-s libssl.so.0.9.8 libssl.so

ln-s libcrypto.so.0.9.8 libcrypto.so

三、使用

在目录opt/project/uto/openssl/openssl-install/中拷贝相应的bin和lib到机器内,执行相关操作

加密文件1:

openssl enc -des -e -in 1 -out 1.des -pass pass:123456

解密文件1.des

openssl enc -des -d -in 1.des -out 1 -pass pass:123456

------------------------------------------------------------------------------------------

gpg -c --passphrase 123456 gpg.txt

gpg --passphrase 123456 gpg.txt.gpg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值