论坛: 原创软件 标题: Windows平台openssl编译方法和分析 复制本贴地址    
作者: dragonking [dragonking]    论坛用户   登录
(转载自http://gdwzh.126.com之openssl专业论坛)
前几天,为了给大家提供新版本的openssl,又重新做了一次openssl的编译工作,并比较了几种编译方法,写这个文章简单介绍一下,希望对大家有帮助。
    我编译的版本是0.9.6h,编译器使用VC++6.0,根据它的说明,我进行了如下的命令和操作:
    1.安装ActivePerl-5.6.1.629-MSWin32-x86-multi-thread.顺利通过!
    2.打开控制台程序,在openssl解压后的目录下执行Perl Configure VC-WIN32命令,注意,一定要在这个目录下执行该命令,否则找不到Configure文件,当然,你也可以指定完整的Configure文件路径。顺利通过。
    3.根据openssl的帮助说明,在解压目录下执行ms\do_masm(和ms_\do_ms)命令,成功通过。
    4.配置VC环境变量,我在相同的控制台程序下转到VC所在目录下的vc98\bin目录,执行vcvars32批处理命令,设置VC的环境变量,然后再转到openssl解压包的根目录下。
     注意:我第一次运行Vcvars32的时候,报错,错误为:Out of environment space,这个错误的产生是因为你的MS-DOS环境变量没有分配足够的内存,这可以通过如下方法解决:
     a.点击开始, 点击运行. 
     b.输入sysedit后回车运行该程序. 
     c.然后会出现多个窗口,选择Config.sys窗口. 
     d.如果存在Shell= 的语句, 在其前面输入 REM ,即注释该语句. 
     e.如果该语句不存在,就直接输入SHELL=C:\COMMAND.COM /E:4096 /P ,注意,要保证该语句是从第一行第一个位置开始输入的。
     f.保存、退出重新启动电脑就应该可以解决这个问题。
     按上述方法解决这个问题之后,重新启动电脑后可以直接执行第4步。
    5.在openssl解压目录下执行nmake -f ms\ntdll.mak,如果没有错误,就完成编译了。输出的文件在out32dll里面,包括应用程序的可执行文件、两个Lib文件和两个dll文件。 
    
    我根据openssl的说明,做了两种不通的编译,一直是加了ASM汇编语言编译器,一直是没有,即在第三步的时候执行do_masm或do_ms命令,时间上前者大概为3分钟(我的电脑配置是图拉丁塞杨1.2,内存256SDRM),后者大概是6分钟的样子。
    然后,我使用了第三方提供的一个编译方法,该方法自动配置了openssl各个模块的V虚拟C工程连接配置项目,然后再进行编译,速度很慢,用了至少20分钟以上的时间,但是好处是可以将一个一个项目弄的比较清楚,其编译过程我就不说了,大家可以参看相关的文档。


地主 发表时间: 12/27 16:15

论坛: 原创软件

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号