OpenSSL簡(jiǎn)介
附帶很具有參考價(jià)值的網(wǎng)站:http://blog.yorkgu.me/2011/10/27/rsa-in-ios-using-publick-key-generated-by-openssl/
OpenSSL 是一個(gè)功能豐富及自包含的安全開(kāi)源工具箱框喳,它提供的主要功能為SSL協(xié)議實(shí)現(xiàn)(包括SSLv2厦坛、SSLv3和TLSv1)、大量軟算法(對(duì)稱/非對(duì)稱/摘要)放仗、大數(shù)運(yùn)算撬碟、非對(duì)稱算法密鑰生成、ASN.1編解碼庫(kù)惶傻、證書(shū)請(qǐng)求(PKCS10)編解碼其障、數(shù)字證書(shū)編解碼、CRL編解碼蜈敢、OCSP協(xié)議抓狭、數(shù)字證書(shū)驗(yàn)證造烁、PKCS7標(biāo)準(zhǔn)實(shí)現(xiàn)和PKCS12個(gè)人數(shù)字證書(shū)格式實(shí)現(xiàn)等功能狱从,OpenSSL是一個(gè)以C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言的工具包季研,它支持Linux誉察、UNIX、windows驼卖、Mac等平臺(tái)鸿秆,所以它具有很好的跨平臺(tái)性能。
Mac OS 環(huán)境下使用OpenSSL生成私鑰和公鑰
MAC OS自帶了OpenSSL,所以不用去編譯那一坨跟SHIT一樣的源碼桥胞,直接在命令行里使用OPENSSL就可以贩虾。打開(kāi)命令行工具沥阱,然后輸入 openssl打開(kāi)openssl,接著只要三句命令就可以搞定策精。第一句命令生成私鑰崇棠;第二句命令把RSA私鑰轉(zhuǎn)換成PKCS8格式,密碼為空就行;第三句命令生成公鑰及老。
按順序shell中執(zhí)行
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
至此成功生成私鑰公鑰兩個(gè)文件骄恶。
-------
windows下的安裝1:
OpenSSL在Windows下的編譯安裝
解壓openssl-1.0.0d.tar.gz以后, 在其目錄下可以發(fā)現(xiàn)有個(gè)INSTALL.W32文件虐呻,這個(gè)文件就是在windows下的安裝說(shuō)明。
1.安裝perl,perl可以從http://www.activestate.com/ActivePerl下載斟叼。
2.安裝編譯器(任意一個(gè)都可以),我在Visual C++ 2005安裝成功了朗涩,VC2008安裝失敗了
3.如果通過(guò)匯編的方式編譯,需要安裝匯編語(yǔ)言編譯器兄一。MASM NASM都可以识腿。如果速度要求不高,可以不用匯編的方式編譯骂束,即不需要安裝硝全。MASM一般由VC++自帶,Windows NT 4.0 DDK a和Windows 98 DDK也帶有MASM析藕。把XXXXXml.exe和XXXXXml.err文件凳厢,提取出來(lái),命名為ml.exe和ml.err治泥,并把他們放到PATH路徑中即可居夹。
NASM可以免費(fèi)獲取本冲,很多地方都可以下載到,如http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
nasmw.exe文件也需要放到PATH路徑中檬洞。
4.打開(kāi)一個(gè)DOS窗口,輸入:perl Configure VC-WIN32
5.如果使用MASM湾戳,接著輸入:ms\do_masm
如果使用NASM,接著輸入:ms\do_nasm
如果不使用匯編語(yǔ)言編譯器砾脑,輸入:ms\do_ms
我用的是:ms\do_ms
6.在DOS窗口中接著輸入:nmake -f ms\ntdll.mak
如果沒(méi)有錯(cuò)誤的話拦止,編譯就通過(guò)了,在out32dll目錄下面就可以看到汹族,生成的dll文件和可執(zhí)行文件了。把他們放到夸政,PATH環(huán)境變量對(duì)應(yīng)的一個(gè)目錄里就可以了榴徐。
----------
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
更多詳細(xì)幫助請(qǐng)運(yùn)行
./config --help
然后:
make && make install
沒(méi)問(wèn)題的話就會(huì)一路跑下去耗帕,可以去泡杯咖啡袱贮,泡個(gè)妞,回來(lái)差不多就好了嗽仪。
ARM平臺(tái)的交叉編譯安裝:
編譯: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 就去掉柒莉。