Chinaunix首页 | 论坛 | 博客
  • 博客访问: 285190
  • 博文数量: 69
  • 博客积分: 2946
  • 博客等级: 少校
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 04:15
文章分类

全部博文(69)

文章存档

2013年(6)

2012年(16)

2011年(18)

2010年(29)

分类: 网络与安全

2011-09-03 03:38:02

编译OpenSSL在半年之前就编译过,当时用的是VC 6.0 。最近学习平台慢慢都迁移到 Visual Studio 2005 上面了,想用 Visual Studio重新编译一下。当然,以前在 VC 6.0 下编译的版本在 Visual Studio 2005中可以使用,但心里感觉有点不爽。

编译过程比较简单,流程如下:

1.安装 Active perl 。这个很简单,网上下载一个安装,自动注册环境变量。如果环境变量注册不成功,自己手动添加目录:

  D:\Program Files\perl\bin;D:\Program Files\perl\site\bin

并且添加目录:

  
  1.  D:\Program Files\Microsoft Visual Studio 8\VC\bin
到系统环境变量中,并且要保证在VC 6.0 之前。因为我的电脑上同上安装有VC6.0和Visual Studio 2005 ,要保证用后者来编译,所以要这么做。
2.在运行中键入: cmd  ( 进入系统命令行模式(DOS)下 ) ,输入:D:(  进入D盘),输入:cd ./openssl-1.0.0d ( 进入OpenSSL目录) , 然后输入:"D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat”,运行正确会出现:
Setting environment for using Microsoft Visual Studio 2005 x86 tools.

3.编译安装OpenSSL,依次键入下面命令:

1.perl Configure VC-WIN32 --prefix=c:/openssl/
   配置安装,并且设定OpenSSL安装目录,上面设置为C:/openssl/
2.ms\do_ms  
   不用汇编来编译OpenSSL
3.nmake -f ms\ntdll.mak
   编译OpenSSL,过程会比较费时,而且如果出错的话,基本上会在这一步报错
4.nmake -f ms\ntdll.mak test
   测试步骤,可以省略。如果上面一步顺利进行,可以直接跳过这一步,直接安装
5.nmake -f ms\ntdll.mak install
   安装OpenSSL,这一步也可以省略。用户可以直接到OpenSSL目录下面的out32dll文件夹中直接拷贝所需要的文
   件即可

4.到C盘根目录下会看到一个openssl的文件夹,里面便是编译好的文件。其中包含了三个文件夹和一个配置文件,分别为:/bin、/include、/lib 和 openssl.cnf(OpenSSL配置文件)。

到此为止,OpenSSL编译完成。编译OpenSSL-0.9.8r过程跟这个一模一样,下不赘述。

编译感想:上面也说了,在半年之前也用VC 6.0编译了OpenSSL-0.9.8p ,因为在当时用最新版的OpenSSL,总是会出现莫名其妙的错误,最后改用低版本编译正确,但用到了汇编语言。今天完全用Visual Studio 2005 编译OpenSSL,只需要简单的配置便可以完成,强烈建议大家用Visual Studio 2005及以上版本来编译OpenSSL,不容易出错。但是,用Visual Studio 2005编译的并不适合在 VC 6.0中使用,因为很多情况是不向上兼容的;但在VC 6.0下编译的可以在 Visual Studio 2005中使用。

 

下面简单介绍一下OpenSSL在 VC 6.0 中的使用

1. 在 VC 6.0工具栏中 Tools –> options –>Directories中 Include files 和Lib files中分别将编译好后OpenSSL目录下的:/include 和 /lib 添加进去。

2. 将/openssl/bin/目录中的 libeay32.dll ,ssleay32.dll ,/openssl/lib目录下的libeay32.lib、ssleay32.lib及整个/include目录拷贝到工程文件夹目录下。

3.在工程源文件中添加:#include “/openssl/***.h”头文件;然后右键点击工程名,添加存在项到工程中去,添加的对象为( 2 )中的dll文件和lib文件。

上面步骤添加完毕,正常情况下应该可以满足要求。在Visual Studio 2005中添加过程类似,不必赘述。

如果以后有时间,我会好好写写OpenSSL的学习心得体会,毕竟OpenSSL功能还是很强大地。下面附上我总共编译OpenSSL的几个版本,希望对大家有用。

版本号:OpenSSL-0.9.8p   编译环境: VC 6.0            是否用到汇编: 是 ;

版本号:OpenSSL-0.9.8r   编译环境:Visual Studio 2005 是否用到汇编: 否  ,  2:

版本号:OpenSSL-1.0.0d   编译环境:Visual Studio 2005 是否用到汇编: 否 , :

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