GmSSL is an open-source cryptographic library developed by Peking University, offering comprehensive support for Chinese national cryptographic algorithms, standards, and secure communication protocols. It's compatible with major. supports various domestic cryptographic hardware. This document details its features, installation, and usage.
GmSSL
GmSSL是由北京大學自主開發的國產商用密碼開源庫,實現了對國密演算法、標準和安全通訊協定的全面功能覆蓋,支援包括行動端在內的主流作業系統和處理器,支援密碼鑰匙、密碼卡等典型國產密碼硬件,提供功能豐富的命令列工具及多種編譯語言程式介面。
主要特性
下載
編譯與安裝
GmSSL 3 採用了cmake建置系統。下載原始碼後將其解壓縮,進入原始碼目錄,執行:
在make install完成後,GmSSL會在預設安裝目錄中安裝gmssl命令列工具,在頭檔目錄中建立gmssl目錄,並且在庫目錄中安裝libgmssl.a、libgmssl.so等庫檔。
Visual Studio環境編譯
在Visual Studio命令提示字元下執行:
主要功能
密碼演算法
證書和數位信封
SSL協議
多語言介面
GmSSL透過子專案提供多種多種程式語言綁定
支援國密硬體
GmSSL內建支援國密SDF密碼硬體(通常為PCI-E介面的密碼卡或伺服器密碼機)和SKF密碼硬體(通常為小型USB密碼鑰匙)。經過測試的密碼產品型號包括:
開發者也可以用GmSSL的子專案SoftSDF(https://github.com/GmSSL/SoftSDF) ,以功能等效(但不具備密碼硬體金鑰保護等價的安全性)的軟體SDF模組來進行開發和測試,正式部署的時候再替換為硬體SDF。
OpenSSL相容性
GmSSL 3.0版本重寫了所有的程式碼並改變了原有API,因此目前GmSSL版本和OpenSSL不相容,無法直接用GmSSL取代OpenSSL進行編譯。 GmSSL提供了子專案OpenSSL-Compatibility-Layer (https://github.com/GmSSL/OpenSSL-Compatibility-Layer) 提供了OpenSSL的相容層,Nginx等應用程式可以透過OpenSSL-Compatibility-Layer呼叫GmSSL功能。經過測試目前相容層可以相容於Nginx 1.16 ~ 1.25 之間的版本。
Benchmark
效能測試結果是在單核心單執行緒且未修改處理器預設配置下5次測試中取最佳效果。由於未關閉睿頻或進行大小核設置,這個成績通常會略高於多核心多線程中每核心的平均成績。
MacBook Pro 13-inch 2018: 2.7 GHz Quad-Core Intel Core i7, Intel Iris Plus Graphics 655. 8 GB 2133 HMz LPDDR3. macOS Sonoma 14.3.
MacBook Air M2 2022. Apple M2. 16 GB. 兒子 14.5.
ChangeLog
自3.1.1版本以來
開發者們
Stargazers over time