OpenSSL 安裝、介紹

OpenSSL簡介

附帶很具有參考價值的網站:http://blog.yorkgu.me/2011/10/27/rsa-in-ios-using-publick-key-generated-by-openssl/

OpenSSL 是一個功能豐富及自包含的安全開源工具箱,它提供的主要功能為SSL協議實現(包括SSLv2、SSLv3和TLSv1)、大量軟算法(對稱/非對稱/摘要)、大數運算、非對稱算法密鑰生成、ASN.1編解碼庫、證書請求(PKCS10)編解碼、數字證書編解碼、CRL編解碼、OCSP協議、數字證書驗證、PKCS7標準實現和PKCS12個人數字證書格式實現等功能,OpenSSL是一個以C語言作為開發語言的工具包,它支持Linux、UNIX、windows、Mac等平臺,所以它具有很好的跨平臺性能。

Mac OS 環境下使用OpenSSL生成私鑰和公鑰

MAC OS自帶了OpenSSL,所以不用去編譯那一坨跟SHIT一樣的源碼,直接在命令行里使用OPENSSL就可以。打開命令行工具,然后輸入 openssl打開openssl,接著只要三句命令就可以搞定。第一句命令生成私鑰;第二句命令把RSA私鑰轉換成PKCS8格式,密碼為空就行;第三句命令生成公鑰。

按順序shell中執行

1.$ openssl

2.OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –no crypt

Enter Encryption Password:

3.OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

writing RSA key

至此成功生成私鑰公鑰兩個文件。

-------

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環境變量對應的一個目錄里就可以了。

----------

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 就去掉。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容