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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安装GMSSL

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安装GMSSL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝GMSSL

一、關于GmSSL

GmSSL是一個開源的密碼工具箱,支持SM2/SM3/SM4/SM9/ZUC等國密(國家商用密碼)算法、SM2國密數字證書及基于SM2證書的SSL/TLS安全通信協議,支持國密硬件密碼設備,提供符合國密規范的編程接口與命令行工具,可以用于構建PKI/CA、安全通信、數據加密等符合國密標準的安全應用。GmSSL項目是OpenSSL項目的分支,并與OpenSSL保持接口兼容。因此GmSSL可以替代應用中的OpenSSL組件,并使應用自動具備基于國密的安全能力。GmSSL項目采用對商業應用友好的類BSD開源許可證,開源且可以用于閉源的商業應用。GmSSL項目由北京大學關志副研究員的密碼學研究組開發維護,項目源碼托管于GitHub。自2014年發布以來,GmSSL已經在多個項目和產品中獲得部署與應用,并獲得2015年度“一銘杯”中國Linux軟件大賽二等獎(年度最高獎項)與開源中國密碼類推薦項目。GmSSL項目的核心目標是通過開源的密碼技術推動國內網絡空間安全建設。

以上內容摘抄自GmSSL官網:http://gmssl.org/

? 大家都知道OpenSSL,主要是提供國際加密算法庫。但是在最新的OpenSSL 1.1.1以上版本,已經對國密算法提供了支持。

OpenSSL、GmSSL這倆提供的國密算法庫,去看了下代碼,代碼實現是不一樣的,屬于條條大路通羅馬。

二、解決與系統OpenSSL沖突的問題

GmSSL是支持國密算法和標準的OpenSSL分支,也就是說GmSSL是在OpenSSL代碼基礎上添加的國密算法。

因此為了兼容OpenSSL,GmSSL編譯后生成的so文件名稱與OpenSSL一致,都是libcrypto.so。

可能存在的問題:

Linux上很多軟件都依賴于系統中的OpenSSL庫。若你編譯安裝的GmSSL版本,其基于的OpenSSL分支版本,與系統中的OpenSSL版本不一致,便會產生沖突,很容易導致這些軟件不可用。

最簡單有效的辦法:將GmSSL編譯為靜態庫。

GmSSL命令行工具,以及我們基于該靜態庫開發的程序,直接內部就集成了GmSSL的二進制碼,不需要去查找庫了,也就不會與系統中OpenSSL產生沖突。

在安裝GmSSL時,安裝到指定的目錄下,如/usr/local/gmssl,與系統中OpenSSL路徑保持獨立。

這樣,即從文件路徑和運行時,兩方面保證了GmSSL與OpenSSL不會沖突,并保持使用上的相互獨立性。這的確是最完美的解決辦法。

三、GmSSL源碼準備

下載GmSSL源碼:https://github.com/guanzhi/GmSSL

==碼云(推薦):==https://gitee.com/jkuang/GmSSL?_from=gitee_search

四、編譯與安裝GmSSL

1、解壓并進入目錄(如果是git clone的直接進入目錄就可以了)
解壓源碼

unzip GmSSL-master.zip

進入源碼目錄

cd GmSSL-master/

2、編譯選項
配置安裝路徑,編譯為靜態庫

./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared

注:–prefix表示安裝路徑;no-shared 表示只編譯靜態庫;默認生成64位庫。

3、編譯

make

4、安裝

make install

若報錯:

Cannot create directory /usr/local/gmssl: No such file or directory

是因為當前用戶無權限對該路徑進行寫入。

再次執行如下,即可解決。

sudo make install

五、配置環境變量

在~/.bashrc文件中,添加GmSSL命令行工具路徑。

vim ~/.bashrc

在文件末尾追加如下內容:

export PATH=$PATH:/usr/local/gmssl/bin

然后執行

source ~/.bashrc

輸入命令,查看GmSSL版本

gmssl version -a

出現如下畫面:

[root@10-18-93-202 GmSSL]# gmssl version -a GmSSL 2.5.4 - OpenSSL 1.1.0d 19 Jun 2019 built on: reproducible build, date unspecified platform: linux-x86_64 compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_DYNAMIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DGMI_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/gmssl\"" -DENGINESDIR="\"/usr/local/gmssl/lib/engines-1.1\"" -Wa,--noexecstack OPENSSLDIR: "/usr/local/gmssl" ENGINESDIR: "/usr/local/gmssl/lib/engines-1.1"

并且與OpenSSL不沖突,至此,GmSSL安裝完畢。

總結

以上是生活随笔為你收集整理的安装GMSSL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。