日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows下编译openssl库

發(fā)布時(shí)間:2023/11/30 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows下编译openssl库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、概述

OpenSSL是一個(gè)開(kāi)放源代碼的軟件庫(kù)包,它實(shí)現(xiàn)了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)協(xié)議,所以應(yīng)用程序可以使用這個(gè)包來(lái)進(jìn)行安全通信,避免竊聽(tīng),同時(shí)確認(rèn)另一端連接者的身份。這個(gè)包廣泛被應(yīng)用在互聯(lián)網(wǎng)的網(wǎng)頁(yè)服務(wù)器上。

SSL是啥?大家知道我們?cè)L問(wèn)網(wǎng)站的時(shí)候,以HTTPS開(kāi)頭的表示你和服務(wù)器之間傳輸?shù)臄?shù)據(jù)經(jīng)過(guò)了加密,這里所使用的加密協(xié)議就是SSL(Secure Sockets Layer,后來(lái)又推出了它的后續(xù)版本,改名叫TLS)。也就是說(shuō),把HTTP協(xié)議經(jīng)過(guò)一層SSL協(xié)議進(jìn)行加密包裝,就變成了HTTPS。當(dāng)然,SSL/TLS還用在很多協(xié)議中,例如VPN、加密的電子郵件協(xié)議等。

在SSL協(xié)議中,我們使用了很多密碼學(xué)手段來(lái)保護(hù)數(shù)據(jù),其中包括對(duì)稱(chēng)密碼、公鑰密碼、數(shù)字簽名、證書(shū)、完整性校驗(yàn)、偽隨機(jī)數(shù)生成等。由于這些算法和操作都非常復(fù)雜,于是開(kāi)源社區(qū)就開(kāi)發(fā)了一套庫(kù),這個(gè)庫(kù)里面提供了很多現(xiàn)成的標(biāo)準(zhǔn)方法,其他開(kāi)發(fā)者只要用正確調(diào)用這些方法,就可以實(shí)現(xiàn)SSL協(xié)議中的各種加密/解密操作了。這個(gè)庫(kù)就是開(kāi)源的OpenSSL庫(kù)。

如何使用openssl?
一般情況下,直接到 Win32 OpenSSL 上下載已經(jīng)編譯好的 OpenSSL 庫(kù)使用即可。但在某些情況下,可能需要適當(dāng)?shù)男薷幕蛘卟眉?OpenSSL,那么編譯它就成為了一個(gè)關(guān)鍵問(wèn)題。
2、準(zhǔn)備工作(win64為例)

1、下載并安裝 Visual Studio(以 VS 2013 為例)。

2、下載并安裝 ActivePerl,下載地址:http://www.activestate.com/activeperl/downloads ,我下載的版本是5.24.3.2404

安裝過(guò)程一律選默認(rèn)即可。

ActivePerl一個(gè)perl腳本解釋器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套開(kāi)發(fā)工具程序,可以讓用戶(hù)編寫(xiě)出適用于unix,windows,linux系統(tǒng)的CGI程序來(lái)。

安裝的只是perl的一個(gè)解釋程序啦,外觀上也不會(huì)發(fā)生什么變化,你在windows的cmd界面里輸入perl -v可查看你所安裝的版本。顯示如下圖:

3、下載并安裝 Nasm 匯編器,下載地址:http://www.nasm.us/ ,我下載的是nasm-2.14-installer-x64.exe

這里安裝完成后,將安裝目錄 C:\Program Files\NASM(以你的安裝目錄為準(zhǔn)) 添加到系統(tǒng)環(huán)境變量 Path 中。

配置環(huán)境變量:

右鍵計(jì)算機(jī)選擇屬性,選擇高級(jí)系統(tǒng)設(shè)置,選擇高級(jí)選項(xiàng),再選擇右下方環(huán)境變量選項(xiàng),給系統(tǒng)變量選擇新建,變量名隨便起不沖突即可(如NASM),變量值填寫(xiě)安裝目錄(如 C:\Program Files\NASM)

??? 注:若桌面沒(méi)有計(jì)算機(jī)選項(xiàng)的可通過(guò)控制面板 — 系統(tǒng)和安全 — 系統(tǒng)到該目錄。或開(kāi)始 — 計(jì)算機(jī) — 右鍵 — 選擇屬性。

4、下載并安裝 OpenSSL,下載地址:https://www.openssl.org/source/ ,我下載的版本是 openssl-1.0.2p.tar.gz

下載完成后,將 OpenSSL 包解壓至 C:\openssl-1.0.2p,便可以進(jìn)行編譯了。

注意: 解壓后的目錄中有兩個(gè)文件 - INSTALL.W32、INSTALL.W64,包含了 OpenSSL 的各個(gè)編譯步驟。

注意:當(dāng)前最新版本為openssl-1.1.1.tar.gz,解壓后的目錄中并沒(méi)有INSTALL.W32、INSTALL.W64兩個(gè)文件,該版本安裝方法具體可參考README和INSTALL兩個(gè)文件。
3、編譯OpenSSL
3.1、配置編譯環(huán)境

我們用VS2013來(lái)作為編譯工具,使用VS2013對(duì)應(yīng)的命令行進(jìn)入,操作步驟如下:

開(kāi)始 — 所有程序 — Visual Studio 2013 — Visual Studio Tools — 選擇一個(gè)命令提示工具

進(jìn)入命令提示符,然后定位至OpenSSL的安裝目錄,如 C:\openssl-1.0.2m

注意:這里不建議使用cmd命令行,使用cmd命令行在執(zhí)行nmake -f ms\nt.mak編譯時(shí),會(huì)提示’nmake’ 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序。(需要配置環(huán)境變量啥的,沒(méi)有試,這里直接使用VS 2013命令行)
3.2、配置編譯文件和模式

輸入如下命令:

perl Configure VC-WIN64A no-asm --prefix=F:\openssl

??? 1

參數(shù)說(shuō)明:
VC-WIN64A表示W(wǎng)indows 64位系統(tǒng),32位系統(tǒng)請(qǐng)換成VC-WIN32,若要使用debug版本,請(qǐng)使用debug-VC-WIN64A或debug-VC-WIN32
no-asm 表示不用匯編,不設(shè)置此屬性,可能會(huì)導(dǎo)致編譯不過(guò)(建議使用)
–prefix=F:\openssl將其安裝到F盤(pán)的openssl文件夾下,省略會(huì)安裝在默認(rèn)路徑下

顯示如下圖:

3.3、生成編譯配置文件

若為Windows 64位系統(tǒng),執(zhí)行

ms\do_win64a.bat

??? 1

若為Windows 32位系統(tǒng),執(zhí)行

ms\do_ms.bat

??? 1

執(zhí)行這一步之后,在ms目錄下會(huì)生成nt.mak和ntdll.mak兩個(gè)編譯配置文件
nt.mak 用于生成靜態(tài)lib庫(kù)
ntdll.mak 用于生成動(dòng)態(tài)dll庫(kù)
3.4、編譯

靜態(tài)庫(kù)

nmake -f ms\nt.mak?? ?

??? 1

動(dòng)態(tài)庫(kù)

nmake -f ms\ntdll.mak

??? 1

注:這里也可以直接執(zhí)行如下命令,將靜態(tài)庫(kù)或動(dòng)態(tài)庫(kù)直接安裝到指定目錄(或默認(rèn)目錄):

//靜態(tài)庫(kù)
nmake -f ms\nt.mak install
//或
//動(dòng)態(tài)庫(kù)
nmake -f ms\ntdll.mak install

??? 1
??? 2
??? 3
??? 4
??? 5

3.5、測(cè)試

測(cè)試靜態(tài)庫(kù):

?nmake -f ms\nt.mak test

??? 1

測(cè)試動(dòng)態(tài)庫(kù):

?nmake -f ms\ntdll.mak test

??? 1

若最終顯示 passed all tests 則說(shuō)明生成的庫(kù)正確:

3.6、安裝

安裝靜態(tài)庫(kù):

nmake -f ms\nt.mak install

??? 1

安裝動(dòng)態(tài)庫(kù):

nmake -f ms\ntdll.mak install

??? 1

編譯、安裝完成后,即可在 F:\openssl目錄下看到生成的相關(guān)文件和文件夾,如下圖:

注:F:\openssl目錄為執(zhí)行 perl Configure VC-WIN64A no-asm --prefix=F:\openssl 時(shí)指定的目錄,若沒(méi)有通過(guò)–prefix=指定目錄,會(huì)安裝到一個(gè)默認(rèn)目錄(命令行內(nèi)會(huì)有提示),如下圖顯示默認(rèn)安裝到了 C:\usr\local\ 目錄


3.7、其他

清除上次靜態(tài)庫(kù)的編譯,以便重新編譯:

nmake -f ms\nt.mak clean

??? 1

清除上次動(dòng)態(tài)庫(kù)的編譯,以便重新編譯:

nmake -f ms\ntdll.mak clean

————————————————
版權(quán)聲明:本文為CSDN博主「mayue_csdn」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/mayue_web/article/details/83997969

總結(jié)

以上是生活随笔為你收集整理的Windows下编译openssl库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。