一、快速上手
- 下载源代码 - 我是下载到本地然后通过 Xftp 传到 Linux 环境里的。 - 然后解压至当前目录: - $ unzip GmSSL-master.zip
- 编译与安装 - Linux平台使用以下命令: - $ ./config $ make $ sudo make install- 安装完后查看版本: - $ gmssl version- 报错:gmssl: symbol lookup error: gmssl: undefined symbol: PBEPARAM_it, version OPENSSL_1_1_0d - 经过上网查找资料(见参考二),发现这是环境变量的问题,此类问题可以通过以下命令设置: - $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH- 再查看版本,发现成功查看到版本:  
- 生成 SM2 密钥并签名 - 先使用 vim 编辑一个文件,我写了一个 txt 文件: - $ vi test.txt - 然后生成密钥,并对文件进行加密: - $ 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- 看到红线处表示签名验证成功:  - 可以查看一下密钥: - 这是私钥:  - 这是公钥:  
二、参考
The GmSSL Project:支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱官方文档
Centos7.0上 GmSSL-2.0版本是否能用,一直都无法安装成功,各种bug · Issue #219 · guanzhi/GmSSL · GitHub
 
  
  
  
  
 
 
 