OpenSSL3.0作為泛用SSL庫(kù)中的一個(gè)重要更新,為用戶帶來(lái)了更大的擴(kuò)展性,遷移到了另一個(gè)架構(gòu)下,進(jìn)行了代碼清理和廢棄,在架構(gòu)上進(jìn)行了升級(jí),為用戶提供更大的靈活性,作為一個(gè)大版本的改進(jìn),你只需要進(jìn)行不分的重新編譯,就能解決兼容問(wèn)題。
OpenSSL 3.0已經(jīng)遷移到一個(gè)基于提供者的架構(gòu),以允許更大的靈活性,libcrypto中的HTTP/HTTPS以及對(duì)Linux內(nèi)核TLS的支持,完全"可插拔"的TLSv1.3組,新的編碼器和解碼器支持,完整的證書(shū)管理協(xié)議(CMP)實(shí)現(xiàn),新的API,以及對(duì)內(nèi)核TLS的集成支持都是OpenSSL 3.0的眾多變化。
安裝方法
win10下安裝openssl
首先下載運(yùn)行工具ActivePerl
執(zhí)行:perl example.pl,若顯示“Hello from ActivePerl!”,則說(shuō)明Perl安裝成功
安裝到指定目錄:perl configure VC-WIN32 no-asm --prefix=D:\appInstall\openssl-1.0.1t\openssl
ms\do_ms.bat
安裝OpenSSL動(dòng)態(tài)庫(kù):nmake -f ms\ntdll.mak install
安裝OpenSSL靜態(tài)庫(kù):nmake -f ms\nt.mak install
清除上次OpenSSL動(dòng)態(tài)庫(kù)的編譯,以便重新編譯:nmake -f ms\ntdll.mak clean
清除上次OpenSSL靜態(tài)庫(kù)的編譯,以便重新編譯:nmake -f ms\nt.mak clean
linux上安裝Openssl
查看原有系統(tǒng)是否已安裝Openssl
openssl version -a
安裝
wget
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
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 就去掉。
更新日志
主要版本
開(kāi)發(fā)者可以從這里下載 OpenSSL 3.0,并升級(jí)你的應(yīng)用程序使之兼容。OpenSSL 3.0 是一個(gè)大版本升級(jí),并不完全向后兼容以前的版本。大多數(shù)使用 OpenSSL 1.1.1 的應(yīng)用程序仍然可以正常工作,只是需要重新編譯(可能會(huì)有關(guān)于使用廢棄的 API 的編譯警告)。還有一些不能完全兼容的應(yīng)用可能需要進(jìn)行修改才能正確編譯和使用。
如果應(yīng)用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模塊),也需要對(duì)應(yīng)用進(jìn)行更改。
許可證變更
在以前的版本中,OpenSSL 是在 OpenSSL 和 SSLeay 下獲得許可的。從 OpenSSL 3.0 開(kāi)始,已經(jīng)過(guò)渡到了 Apache License 2.0。舊的 OpenSSL 和 SSLeay 許可證仍然適用于舊版本(1.1.1 和更早的版本)。
Providers 和 FIPS 支持
OpenSSL 1.1.1 的主要變化之一是引入了 Providers(提供者) 概念。Providers 聚集在一起并提供可用的算法實(shí)現(xiàn)。使用 OpenSSL 3.0,可以以編程方式或通過(guò)配置文件指定你希望用于任何給定應(yīng)用程序的 Providers。OpenSSL 3.0 標(biāo)配 5 個(gè)不同的 Providers。隨著時(shí)間的推移,第三方可能會(huì)分發(fā)可以接入 OpenSSL 的其他 Providers。通過(guò) Providers 提供的所有算法實(shí)現(xiàn)都可以通過(guò)“高級(jí)” API 訪問(wèn),無(wú)法使用 “低級(jí) API” 訪問(wèn)它們。
目前可用的一個(gè)標(biāo)準(zhǔn) Providers 是 FIPS Providers。這使得 FIPS 驗(yàn)證的加密算法可用。FIPS Providers 默認(rèn)處于禁用狀態(tài),需要在配置時(shí)使用enable-fips選項(xiàng)顯式啟用。如果啟用,除了其他標(biāo)準(zhǔn) Providers 之外,還會(huì)構(gòu)建和安裝 FIPS Providers,不需要單獨(dú)的安裝過(guò)程。
低級(jí)別的 API
OpenSSL 歷來(lái)提供兩套用于調(diào)用加密算法的 API:"高級(jí)" API(如 EVP API)和 "低級(jí)" API。高級(jí)別的 API 通常被設(shè)計(jì)成適用于所有算法類型。而 "低級(jí)" API 則是針對(duì)特定的算法實(shí)現(xiàn)的。長(zhǎng)期以來(lái),OpenSSL 開(kāi)發(fā)團(tuán)隊(duì)一直不鼓勵(lì)使用低級(jí)別的 API。在 OpenSSL 3.0 中,這一點(diǎn)變得更加明確。所有這些低級(jí)別的 API 都已經(jīng)被廢棄了。你仍然可以在你的應(yīng)用程序中使用它們,但你可能會(huì)在編譯過(guò)程中開(kāi)始看到棄用警告。廢棄的 API 可能會(huì)從未來(lái)的 OpenSSL 版本中刪除,所以強(qiáng)烈建議開(kāi)發(fā)者更新你的代碼,以使用高級(jí) API 來(lái)代替。
版本管理
OpenSSL 的版本管理已經(jīng)隨著 OpenSSL 3.0 的發(fā)布而改變,新的版本管理采用下方這樣的格式:
MAJOR.MINOR.PATCH(主版本.次版本.補(bǔ)?。?/p>
對(duì)于 OpenSSL 1.1.1 及以下版本,不同的補(bǔ)丁級(jí)別是由版本號(hào)后面的字母表示的,這一方法將不再使用,而是用版本號(hào)中的最后一個(gè)數(shù)字來(lái)表示補(bǔ)丁級(jí)別。第二個(gè)數(shù)字(MINOR)的變化表明可能已經(jīng)添加了新的功能,但與相同 MAJOR 編號(hào)的 OpenSSL 在 API 和 ABI 上是兼容的。如果 MAJOR 數(shù)字發(fā)生變化,則不保證 API 和 ABI 的兼容性。
下載地址
精品推薦
-
Microsoft .Net Framework4.7.2中文版
詳情 -
.Net3.5
詳情 -
.Net3.5 64位win10離線安裝包
詳情 -
MarkdownPad2
詳情 -
.Net Framework 4.0 32位離線安裝包
詳情 -
RPGVXACE RTP
詳情 -
Cmder(windows命令行工具)
詳情 -
jetbrains全系列激活工具
詳情 -
scratch免激活離線版
詳情 -
Microsoft .NET Runtime6.0
詳情 -
鯨魚(yú)積木編程專業(yè)版
詳情 -
Lodop云打印機(jī)插件
詳情 -
Qt Linguist(QT語(yǔ)言家)
詳情 -
Microsoft .Net Framework 4.0完整版
詳情 -
Jar to Exe
詳情 -
DevExpress 2020
詳情
裝機(jī)必備軟件
網(wǎng)友評(píng)論