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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

GMSSL双证书认证C/S(Linux版)

發布時間:2023/12/10 linux 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GMSSL双证书认证C/S(Linux版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、下載與安裝GMSSL

二、生成證書文件

三、認證通信

對于新手小白,不知道怎么入坑GMSSL學習的可以看。首先需要明白什么是 gmssl,以及怎么初步使用它,初步搞懂雙證書以及認證過程,下面我給幾個鏈接方便大家快速找到合適的學習內容(也是我挑選過的了)。
非對稱加密算法(雙證書需要涉及到)
常用對稱、非對稱、摘要加密算法介紹
國密SSL協議之雙證書體系
GMSSL官方文檔
環境:Ubuntu18.0.4

一、下載與安裝GMSSL

到這里通過前面幾篇文章,我們會對GMSSL有一個初步的了解了,下面直接上手吧!我們直接安裝的話后面使用可能會有沖突,因為GmSSL是支持國密算法和標準的OpenSSL的分支,也就是說GmSSL是在OpenSSL的基礎上增加的國密算法,Linux上很多軟件都依賴于系統中的OpenSSL庫,所以在編譯安裝gmssl時可能會有沖突。下面的安裝流程解決了沖突問題。
(1)去GMSS官網下載壓縮包:GMSSL-master壓縮包

(2)將壓縮包放到你想放置的目錄下,我是直接放在主目錄下面進行解壓安裝的。

(3)解壓

unzip GmSSL-master.zip

(4)進入解壓目錄,因為我是解壓在主目錄下的,所以是這個指令。

cd GmSSL-master/

(5)編譯選項,配置安裝路徑,編譯為靜態庫,解決沖突問題。

./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared //–prefix表示安裝路徑;no-shared 表示只編譯靜態庫;默認生成64位庫

(6)編譯與安裝,最好在root用戶下面執行,否則可能使用的時候會報錯。

make //編譯

等待編譯結束后再執行安裝指令:

make install //安裝

耐心等待就行。
(7)配置環境變量,在~/.bashrc文件中,添加GmSSL命令行工具路徑

vim ~/.bashrc //進入文件進行編輯 export PATH=$PATH:/usr/local/gmssl/bin //在文件尾部添加,并保存退出 source ~/.bashrc //文件更改保存后執行這個指令

(8)查看安裝版本:(與OpenSSL不沖突)

二、生成證書文件

先下載安裝TASSL,因為大多都成參考這個項目里的.sh文件來生成雙證書的,所以先去下載相關文件放到主目錄下面(我是將整個文檔都下載下來了)。
TASSL-master下載


將TASSL-master/Tassl_demo/mk_tls_cert 目錄下的SM2certgen.sh這個腳本進行修改,修改如圖部分就行:

cd TASSL-master/Tassl_demo/mk_tls_cert //進入文件目錄 sh SM2certgen.sh //執行文件,生成證書


生成的證書與密鑰等相關文件在sm2Certs子目錄里:

CA.key.pem和CA.cert.pem分別是CA私鑰和CA證書。

CE.cert.pem和CE.key.pem分別是客戶端的加密證書和對應的私鑰。

CS.cert.pem和CS.key.pem分別是客戶端的簽名證書和對應的私鑰。

SE.cert.pem和SE.key.pem分別是服務器的加密證書和對應的私鑰。

SS.cert.pem和SS.key.pem分別是服務器的簽名證書和對應的私鑰。

三、認證通信

打開兩個終端,一個充當服務器端一個充當客戶端進行認證通信(這是在linux下的執行代碼,windows的執行代碼會有略微不同)。
服務器端執行如下代碼:

gmssl s_server -accept 44330 -key ./SS.key.pem -cert ./SS.cert.pem -dkey ./SE.key.pem -dcert ./SE.cert.pem -CAfile ./CA.cert.pem

客戶端執行如下代碼:

gmssl s_client -connect localhost:44330 -key ./CS.key.pem -cert ./CS.cert.pem -CAfile ./CA.cert.pem


當客戶端也運行成功后,在服務器端會有一個顯示:

然后就可以發消息進行通信了。

參考文章如下:
(1)https://blog.csdn.net/qq_40153886/article/details/106937556
(2)https://blog.csdn.net/zyhse/article/details/112350363

總結

以上是生活随笔為你收集整理的GMSSL双证书认证C/S(Linux版)的全部內容,希望文章能夠幫你解決所遇到的問題。

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