openssl交叉编译

How to Cross Compile OpenSSL a Step by Step Guide

Public – Private key encryption using OpenSSL

首先下载OpenSSL的源代码:

wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz

解压并进入目录

$ tar-xzf openssl-0.9.8g.tar.gz$ cd openssl-0.9.8g
./config no-asm shared

更改Makefile
需要更改的地方很少,因为我是用在ARM板上面的,所以要指定相应的编译器,添加这一行,具体路径按实际情况填写

CROSS_COMPILE= /usr/local/arm/4.4.3-eabi/bin/arm-linux-

定位到以下行

CC= cc

改成

CC= $(CROSS_COMPILE)gcc

定位到以下行

AR=ar $(ARFLAGS) rRANLIB= /usr/bin/ranlib

改成

AR=$(CROSS_COMPILE)ar $(ARFLAGS) rRANLIB= $(CROSS_COMPILE)ranlib

然后修改安装的路劲,定位到以下两行

INSTALLTOP=/usr/local/sslOPENSSLDIR=/usr/local/ssl

改成实际安装路径,由于不是在本机运行,所以可以任意指定位置

INSTALLTOP= /someplace/opensslOPENSSLDIR= /someplace/openssl

可以了,这就是所做的所有改动。
编译,以及安装到上面指定的目录

$ make&&makeinstall

到此为止,openssl已经编译好了,接下来就是要把它打包到ARM板上面。
进入openssl的安装目录

$ cd/someplace

打包

$ tar-czf openssl.tar.gz openssl

然后复制到开发板上(用U盘,用网络都可以)
假设现在是在开发板的终端上。
解压并进入目录

$ tar-xzf openssl.tar.gz$ cd openssl

把OpenSSL 加入到系统路径

exportPATH=$PATH:/someplace/openssl/bin

下面用RSA算法加密一个文件做测试。
创建要加密的文件

$ echo"they came from nowhere,and they have a plan"> secret.txt

创建一个RSA密钥

$ openssl genrsa -out private.pem 1024

当前目录会生成一个private.pem,它包含了密钥和公钥,
从生成的文件中导出公钥

$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout

将会生成一个public.pem的文件,就是公钥
把公钥发给你的朋友,让他使用公钥来加密文件

$ openssl rsautl -encrypt-inkey public.pem -pubin-in secret.txt -out secret.enc

将会生成一个secret.enc 文件,就是加密后的secret.txt,可以尝试查看文件的内容,如果加密成功就会是一些无意义的字符。
让你的朋友把加密后的文件发过来,使用本地的密钥解密

$ openssl rsautl -decrypt-inkey private.pem -in secret.enc -out secret.org

查看解密后的文件

$ cat secret.org
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值