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