支持國密算法的OpenSSL分支


https://www.jianshu.com/p/db55261ed19e

支持國密SM2/SM3/SM4算法的OpenSSL分支

官方網站:http://gmssl.org/
開源地址:https://github.com/guanzhi/GmSSL
GmSSL 是支持國密算法和標准的OpenSSL分支,增加了對國密SM2/SM3/SM4算法和ECIES、CPK、ZUC算法的支持,實現了這些算法與EVP API和命令行工具的集成。GmSSL由北京大學信息安全實驗室開發和維護。

GmSSL (http://gmssl.org) 是支持國密算法和標准的OpenSSL分支,是一個提供了豐富密碼學功能和安全功能的開源軟件包。在保持OpenSSL原有功能並實現和OpenSSL API兼容的基礎上,GmSSL新增多種密碼算法、標准和協議,其中包括:

  • 橢圓曲線公鑰加密國際標准ECIES
  • 國密SM2橢圓曲線公鑰密碼標准,包含數字簽名算法、公鑰加密算法、密鑰交換協議及推薦橢圓曲線參數
  • 國密SM3密碼雜湊算法、HMAC-SM3消息認證碼算法、PBKDF2口令加密算法
  • 國密SM4/SMS4分組密碼、ECB/CBC/CFB/OFB/CTR/GCM/FFX加密模式和CBC-MAC/CMAC消息認證碼算法
  • 組合公鑰(CPK)身份密碼,可同時支持橢圓曲線國際標准算法和國密標准算法
  • 國密動態口令密碼規范
  • 祖沖之(ZUC)序列密碼

GmSSL還可以以安全中間件的方式訪問PCI-E密碼加速卡、USB Key等硬件密碼設備,為上層應用提供密鑰安全存儲、密碼計算硬件加速以及國密SM1分組密碼、國密SSF33分組密碼等硬件實現的保密算法。GmSSL通過ENGINE機制支持符合不同接口規范的密碼設備:

  • 提供國密算法和國密SKF接口規范實現的硬件密碼設備
  • 提供Windows Crypto API Provider的密碼硬件設備
  • 提供PKCS #11 (Cryptoki)接口實現的密碼硬件設備

GmSSL主要包含通用密碼庫libcrypto、SSL/TLS協議庫libssl和命令行工具gmssl。除gmssl的命令行接口之外,GmSSL還通過libcrypto密碼庫提供原生的EVP API抽象密碼接口以及國密智能IC卡及智能密碼鑰匙密碼應用接口SKF API,以及通過JNI (Java Native Interface)本地接口實現的Java語言綁定。

為了便於商業軟件安全地采用GmSSL,GmSSL保持了和OpenSSL相似的BSD/Apache風格的許可證,因此閉源軟件或者商業軟件可以安全地在產品中采用GmSSL的代碼。自發布以來GmSSL榮獲開源中國(http://oschina.net)密碼類推薦開源項目、2015年度“一銘杯”中國Linux軟件大賽二等獎(該年度最高獎項)等獎勵和榮譽。

GmSSL項目目前由北京大學信息安全實驗室開發和維護,項目的長期目標是推動國產密碼算法在國內互聯網和開源領域的廣泛應用,提高國內商用非涉密領域的自主密碼應用水平。

最新動態

  • 2017年5月15日 發布GmSSL-1.3.0二進制包 下載 (5.4 MB)
  • 2017年4月30日 增加 GmSSL Go語言API
  • 2017年3月2日 GmSSL項目注冊了OID {iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) GmSSL(49549)}
  • 2017年2月12日 支持完整的密碼庫Java語言封裝 GmSSL-Java-Wrapper
  • 2017年1月18日 更新了項目主頁
    更多 …

編譯和安裝

OpenSSL通過其獨有的編譯腳本支持非常廣泛的硬件和操作系統,GmSSL項目力求保持其跨平台特性。目前GmSSL可以在Linux平台和蘋果OS X平台順利編譯安裝,在Windows上暫時無法編譯通過。我們預計可以在下一個版本發布時修正Windows平台的編譯問題。

在Linux平台上通過如下指令實現編譯和安裝:

./config make make install 

在蘋果OS X操作系統上通過如下指令實現編譯和安裝:

./Configure darwin64-x86_64-cc --prefix=/usr/local --openssldir=/usr/local/openssl
make
sudo make install

在WIN32(MINGW+MSYS)操作系統上通過如下指令實現編譯和安裝:
(請在MSYS環境解壓或Git clone代碼,否則會因換行符導致出現編譯錯誤)

./config make make install


作者:大聖2017
鏈接:https://www.jianshu.com/p/db55261ed19e
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM