项目官方文档
http://gmssl.org/docs/install.html
安装环境
ubuntu 18.04
安装 make 和 gcc
安装步骤
-
下载源码包:
项目release地址:https://github.com/guanzhi/GmSSL/releases
wget https://github.com/guanzhi/GmSSL/archive/refs/tags/gmbrowser-v0.1.tar.gz
-
解压安装
tar zxf gmbrowser-v0.1.tar.gz cd GmSSL-gmbrowser-v0.1 ./config make make install
-
安装完成后执行gmssl 命令报错:
gmssl: relocation error: gmssl: symbol BIO_debug_callback version OPENSSL_1_1_0d not defined in file libcrypto.so.1.1 with link time reference
原因是程序无法找到自己生成的动态链接库文件 libcrypto.so.1.1,可以把该文件(在/usr/local/lib下)复制到默认的动态链接库目录/usr/lib,或者使用以下方式:
解决:
将gmssl 生成的/usr/local/lib 中的文件路径添加到/etc/ld.so.conf 文件或/etc/ld.so.conf.d/ 目录,然后执行ldconfig 命令echo /usr/local/lib > /etc/ld.so.conf.d/gmssl.conf ldconfig
完成后可以使用
ldd /usr/local/bin/gmssl
命令查看程序是否可以找到对应的动态链接库,如果程序所需的动态链接库没有显示not found的情况,程序就可以成功运行了。
-
测试:
查看gmssl 版本:$ gmssl version GmSSL 2.3.1 - OpenSSL 1.1.0d 30 Mar 2018
-
使用sm3算法计算文件摘要:
$ gmssl dgst -sm3 gmbrowser-v0.1.tar.gz SM3(gmbrowser-v0.1.tar.gz)= 065b48eca7b56811b6bb969b0918a978ac52da9e69f9be5cf76aced0db69984b # 或者 $ gmssl sm3 gmbrowser-v0.1.tar.gz SM3(gmbrowser-v0.1.tar.gz)= 065b48eca7b56811b6bb969b0918a978ac52da9e69f9be5cf76aced0db69984b
两种命令使用方式结果相同。