Openssl的安裝

工程師WWW發表於2014-03-19

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已經安裝成功了.

相關文章