GmSSL 国密算法库安装配置指南
【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 项目地址: https://gitcode.com/gh_mirrors/gm/GmSSL
项目概述
GmSSL是由北京大学自主开发的国产商用密码开源库,实现了对国密算法、标准和安全通信协议的全面功能覆盖。该项目采用C语言编写,支持包括移动端在内的主流操作系统和处理器,提供丰富的命令行工具及多种编程语言接口,是中国密码领域的重要开源基础设施。
主要技术和特性
核心技术
- 国密算法支持:完整支持SM2、SM3、SM4、SM9等国密标准算法
- SSL/TLS协议:支持国密SSL协议(TLCP)和TLS 1.2、TLS 1.3协议
- 跨平台架构:采用CMake构建系统,支持Windows、Linux、macOS、Android、iOS等主流平台
- 硬件集成:内置支持国密SDF密码硬件和SKF密码硬件设备
核心特性
- 超轻量设计:大幅降低内存需求和二进制代码体积,支持无操作系统的嵌入式环境
- 合规性保障:可配置为仅包含国密算法和协议,满足密码产品型号检测要求
- 安全性提升:支持TLS 1.3协议和国密套件,默认支持密钥加密保护
- 跨平台兼容:CMake构建系统与Visual Studio、Android NDK等工具链无缝集成
安装前准备
系统要求
- 操作系统:Windows 7/10/11、Linux各发行版、macOS 10.12+
- 编译工具:CMake 3.10+、GCC/Clang编译器(Linux/macOS)或Visual Studio(Windows)
- 依赖库:基础C库,无需额外依赖
环境检查
在开始安装前,请确认系统已安装必要的编译工具:
# 检查CMake版本
cmake --version
# 检查编译器
gcc --version # 或 clang --version
详细安装步骤
步骤一:获取源代码
通过Git克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/gm/GmSSL.git
cd GmSSL
步骤二:配置构建环境
创建构建目录并配置CMake:
mkdir build
cd build
cmake ..
步骤三:编译项目
执行编译命令:
make
编译过程可能需要几分钟时间,具体取决于系统性能。
步骤四:运行测试(推荐)
为确保编译正确性,运行测试套件:
make test
所有测试通过后即可进行安装。
步骤五:安装到系统
使用管理员权限安装:
sudo make install
安装完成后,GmSSL将在系统中创建以下内容:
gmssl命令行工具- 头文件目录
/usr/local/include/gmssl - 库文件目录
/usr/local/lib
Windows环境特殊配置
Visual Studio编译
在Visual Studio命令提示符中执行:
mkdir build
cd build
cmake .. -G "NMake Makefiles" -DWIN32=ON
nmake
nmake test
管理员安装
以管理员身份运行命令提示符:
nmake install
安装后需将安装目录添加到系统PATH环境变量中。
验证安装
安装完成后,通过以下命令验证:
gmssl version
成功输出版本信息表示安装完成。
GmSSL命令行工具
功能特性验证
密码算法测试
GmSSL支持丰富的密码算法,可通过以下命令测试:
# 测试SM3哈希算法
gmssl sm3 -in /dev/null
# 测试SM4加密
echo "hello" | gmssl sm4 -encrypt -key 11223344556677881122334455667788
SSL协议支持
验证TLS协议支持:
# 测试TLCP协议
gmssl tlcp_client -connect example.com:443
常见问题解决
编译错误处理
如遇到编译错误,可尝试以下解决方案:
-
清理构建目录:
rm -rf build mkdir build cd build cmake .. -
检查依赖:确保系统已安装必要的开发工具链
-
查看详细错误:执行具体测试程序获取详细错误信息
./bin/sm4test
权限问题
在Linux/macOS系统中,如遇到权限问题,可使用sudo命令:
sudo make install
开发集成
编程接口使用
GmSSL提供丰富的C语言API,示例代码:
#include <gmssl/sm3.h>
int main() {
SM3_CTX ctx;
unsigned char dgst[SM3_DIGEST_SIZE];
sm3_init(&ctx);
sm3_update(&ctx, "hello", 5);
sm3_finish(&ctx, dgst);
return 0;
}
编译命令:
gcc -o demo demo.c -lgmssl
性能优化配置
GmSSL支持多种硬件优化选项,可根据目标平台启用:
# 启用AVX2优化
cmake .. -DENABLE_SM3_AVX_BMI2=ON -DENABLE_SM4_AESNI_AVX=ON
make
安全注意事项
- 生产环境部署:建议使用经过测试的稳定版本
- 密钥管理:妥善保管加密密钥和证书文件
- 定期更新:关注项目更新,及时修复安全漏洞
通过本指南,您已成功安装并配置了GmSSL国密算法库,可以开始在项目中使用国密算法和安全协议了。
【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 项目地址: https://gitcode.com/gh_mirrors/gm/GmSSL
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



