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)解壓
(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命令行工具路徑
(8)查看安裝版本:(與OpenSSL不沖突)
二、生成證書文件
先下載安裝TASSL,因為大多都成參考這個項目里的.sh文件來生成雙證書的,所以先去下載相關文件放到主目錄下面(我是將整個文檔都下載下來了)。
TASSL-master下載
將TASSL-master/Tassl_demo/mk_tls_cert 目錄下的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_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版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OS学习笔记】十五 保护模式三:保护模
- 下一篇: 翻译python语言命令_有道词典命令行