Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1748439
  • 博文数量: 199
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 6186
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-30 11:01
个人简介

Linuxer.

文章存档

2015年(4)

2014年(28)

2013年(167)

分类: LINUX

2013-03-19 14:10:06

1.首先在下载了openssl源码包:openssl-1.0.0.tart.gz
拷贝到虚拟机目录下对其进行解压,
tar -xzvf  openssl-1.0.0.tart.gz
进入cd openssl-1.0.0
./config no-asm shared prefix=/home/my_openssl
解释一下这里的参数: config就是配置脚本,这里不多说了。no-asm是在交叉编译过程中不使用汇编代码代码加速编译过程.原因是它的汇编代码是对arm格式不支持的。如果没有这个参数,你的交叉编译一定出错。shared生成动态连接库。prefix=路径  就是你的安装目录。安装完成后在这个目录下会有四个文件夹:bin lib include ssl。这四个目录非常重要,openssl编程就需要这些目录的配合。

2.修改makefile
1) CC= gcc 改成 CC = arm-none-linux-gnueabi-gcc;(根据你自己的交叉编译环境设置,我的交叉编译环境是:arm-none-linux-gnueabi-)

2) 删除 CFLAG= 中的 “-march=pentium”;

3) AR=ar $(ARFLAGS) r 改为 AR=arm-none-linux-gnueabi-ar $(ARFLAGS) r;

4) ARD=ar $(ARFLAGS) d 改为 ARD=arm-none-linux-gnueabi-ar $(ARFLAGS) d;

5)RANLIB= /usr/bin/ranlib 改为 RANLIB= arm-none-linux-gnueabi-ranlib;

3.编译

#make

4.生成

#make install


5.应用程序编译
进入/home/my_openssl顺利找到所需的头文件和库文件。分别为:
/home/my_openssl/include/openssl/*.h
/home/my_openssl/OpenSSL/lib/*.a
在项目的Makefile文件里头加入openssl的头文件和库文件的声明,此时需要注意引用库的顺序为:-lssl -lcrypto,如果为 -lcrypto -lssl就会编译错误。

顺利通过编译。
6.加密一个文件:
[root@fxvsystem root]# openssl enc -des -e -a -in main -out main.des
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:
输入密码之后,就会生成main.des文件,这个文件名是自己指定的,可以随意写。
其中:
  enc表明你打算使用某个算法
  -des是具体使用的某个算法
  -e 表明要加密
  -a 同样是使用ASCII进行编码
  -in 要加密的文件名字
  -out 加密后的文件名字

把生成的文件传到另一台机器后,执行如下命令进行解密
[root@fxvsystem gpg]# openssl enc -des -d -a -in main.des -out main
enter des-cbc decryption password:输入口令后,就可以得到解密后的文件了。

其中
  -d表明要进行解密。

阅读(9874) | 评论(0) | 转发(4) |
给主人留下些什么吧!~~