Openssl的安装

 openssl简介

openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。

openssl采用C语言作为开发语言,这使得它具有优秀的跨平台性能。openssl支持Linux、UNIX、windows、Mac等平台。openssl目前最新的版本是openssl-
1.0.0d.

官方网址:http://www.openssl.org/

 

linux下的安装:
wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
tar xvzf openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
如果需要zlib压缩模块的话,还需要先安装zlib
然后:
./config --prefix=/usr/local/ssl shared zlib-dynamic

不需要就直接用:
./config --prefix=/usr/local/ssl shared no-zlib

更多详细帮助请运行
./config --help

然后:
make && make install

没问题的话就会一路跑下去,可以去泡杯咖啡,泡个妞,回来差不多就好了。

ARM平台的交叉编译安装:
编译:openssl
./config no-asm no-zlib --prefix=/arm/openssl os/compiler:arm-linux-gcc

修改:
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
如果存在 -march=pentium 就去掉。


windows下的安装1:
OpenSSL在Windows下的编译安装
解压openssl-1.0.0d.tar.gz以后, 在其目录下可以发现有个INSTALL.W32文件,这个文件就是在windows下的安装说明。
1.安装perl,perl可以从http://www.activestate.com/ActivePerl下载。
2.安装编译器(任意一个都可以),我在Visual C++ 2005安装成功了,VC2008安装失败了

3.如果通过汇编的方式编译,需要安装汇编语言编译器。MASM NASM都可以。如果速度要求不高,可以不用汇编的方式编译,即不需要安装。MASM一般由VC++自带,Windows NT 4.0 DDK a和Windows 98 DDK也带有MASM。把XXXXXml.exe和XXXXXml.err文件,提取出来,命名为ml.exe和ml.err,并把他们放到PATH路径中即可。

NASM可以免费获取,很多地方都可以下载到,如http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
nasmw.exe文件也需要放到PATH路径中。

4.打开一个DOS窗口,输入:perl Configure VC-WIN32

5.如果使用MASM,接着输入:ms\do_masm
如果使用NASM,接着输入:ms\do_nasm
如果不使用汇编语言编译器,输入:ms\do_ms

我用的是:ms\do_ms
6.在DOS窗口中接着输入:nmake -f ms\ntdll.mak
如果没有错误的话,编译就通过了,在out32dll目录下面就可以看到,生成的dll文件和可执行文件了。把他们放到,PATH环境变量对应的一个目录里就可以了。

XP下安装openssl的过程2

 

 

 XP下安装openssl实在是比较折腾人, 建议有使用linux的朋友还是直接在linux下操作, linux下比如是debian或ubuntu之类的只要apt-get install openssl 一句命令就完成安装, 而XP下就得进行比较烦琐的步骤. 以下我为的安装步骤:

 

      (1)下载并安装ActivePerl, 我用的版本是ActivePerl-5.10.1.1007-MSWin32-x86.

 

      (2)到www.openssl.org上下载openssl安装包, 我下的是openssl-0.9.8g.tar.gz.

 

      (3)解压openssl-0.9.8g.tar.gz到C:/openssl-0.9.8g目录(当然其他目录也可以).

 

      (4)先看下C:/openssl-0.9.8g目录下的INSTALL.xx安装帮助文件, 我是WIN32的所以看INSTALL.W32

 

      (5)按照帮助文件输入:perl Configure VC-WIN32 --prefix=c:/some/openssl/dir

 

      (6)因为我不使用汇编文件所以输入:ms/do_ms  (到这里比较顺利)

 

      (7)输入编译指令: nmake -f ms/ntdll.mak

 

          (a)提示错误:   ./crypto/cversion.c(105) : error C2220: warning treated as error - no 'object' file generated

              解决办法:   打开ms/ntdll.mak文件, 去掉CFLAGS变量中的/wx, 不将该警告当成错误.

 

          (b)继续编译, 提示错误:cryptlib.obj : error LNK2001: unresolved external symbol _OPENSSL_ia32_cpuid
              out32dll/libeay32.dll : fatal error LNK1120: 1 unresolved externals

              解决办法: 修改do_ms文件如下:
                            perl util/mkfiles.pl >MINFO
                            perl util/mk1mf.pl debug no-asm VC-WIN32 >ms/nt.mak
                            perl util/mk1mf.pl debug dll no-asm VC-WIN32 >ms/ntdll.mak
                            perl util/mk1mf.pl debug no-asm VC-CE >ms/ce.mak
                            perl util/mk1mf.pl debug dll no-asm VC-CE >ms/cedll.mak

                            perl util/mkdef.pl 32 libeay > ms/libeay32.def
                            perl util/mkdef.pl 32 ssleay > ms/ssleay32.def

                            [注]该方法来自 http://blog.csdn.net/wangxing1018/archive/2008/05/30/2497536.aspx

    

     (8)输入安装指令:nmake -f ms/ntdll.mak install

    

     (9)此时openssl已经安装成功了.

 

转自:http://blog.csdn.net/sunwill_chen/article/details/5493802和http://www.cppblog.com/aaxron/archive/2011/06/19/148949.aspx 

你可能感兴趣的:(windows,linux,汇编,perl,dll,编译器)