轉:https://blog.csdn.net/xuq09/article/details/91815366
The GmSSL Project
網址:http://gmssl.org/docs/quickstart.html
在網上閑逛時發現一個工具。SSL支持國密算法。看着比較高大上。還沒有用呢。記下來。備用。
快速上手指南介紹GmSSL的編譯、安裝和gmssl命令行工具的基本指令。
下載源代碼(zip),解壓縮至當前工作目錄
$ unzip GmSSL-master.zip
編譯與安裝
Linux平台 (其他平台的安裝過程見編譯與安裝)
$ ./config no-saf no-sdf no-skf no-sof no-zuc
$ make
$ sudo make install
安裝之后可以執行gmssl命令行工具檢查是否成功
$ gmssl version GmSSL 2.0 - OpenSSL 1.1.0d
SM4加密文件
$ gmssl sms4 -e -in <yourfile> -out <yourfile>.sms4 enter sms4-cbc encryption password: <your-password> Verifying - enter sms4-cbc encryption password: <your-password>
解密
$ gmssl sms4 -d -in <yourfile>.sms4 enter sms4-cbc decryption password: <your-password>
生成SM3摘要
$ gmssl sm3 <yourfile>
SM3(yourfile)= 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
生成SM2密鑰並簽名
$ gmssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2p256v1 \ -out signkey.pem $ gmssl pkeyutl -sign -pkeyopt ec_scheme:sm2 -inkey signkey.pem \ -in <yourfile> -out <yourfile>.sig
可以將公鑰從signkey.pem中導出並發發布給驗證簽名的一方
$ gmssl pkey -pubout -in signkey.pem -out vrfykey.pem $ gmssl pkeyutl -verify -pkeyopt ec_scheme:sm2 -pubin -inkey vrfykey.pem \ -in <yourfile> -sigfile <yourfile>.sig
生成SM2私鑰及證書請求
$ gmssl ecparam -genkey -name sm2p256v1 -text -out user.key $ gmssl req -new -key user.key -out user.req
查看證書請求內容:
$ gmssl req -in user.req -noout -text -subject