GmSSL 国密算法库安装与使用指南
【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 项目地址: https://gitcode.com/gh_mirrors/gm/GmSSL
项目概述
GmSSL是由北京大学自主开发的国产商用密码开源库,实现了对国密算法、标准和安全通信协议的全面功能覆盖。该库支持包括移动端在内的主流操作系统和处理器,支持密码钥匙、密码卡等典型国产密码硬件,提供功能丰富的命令行工具及多种编译语言编程接口。
主要特性
- 超轻量设计:GmSSL 3 大幅降低了内存需求和二进制代码体积,不依赖动态内存,可用于无操作系统的低功耗嵌入式环境(MCU、SOC等)
- 合规性强:可配置为仅包含国密算法和国密协议(TLCP协议),满足密码产品型号检测要求
- 安全性高:支持TLS 1.3协议和RFC 8998的国密套件,默认支持密钥加密保护
- 跨平台支持:支持Windows、Linux、macOS、Android、iOS等主流平台
安装准备
在开始安装前,请确保系统已安装以下必要工具:
- CMake 构建工具
- GCC 或 Clang 编译器(Linux/macOS)
- Visual Studio(Windows环境)
- Git 版本控制工具
详细安装步骤
1. 获取源代码
首先下载GmSSL的源代码:
git clone https://gitcode.com/gh_mirrors/gm/GmSSL.git
cd GmSSL
2. 创建构建目录
mkdir build
cd build
3. 配置CMake
cmake ..
4. 编译项目
make
5. 运行测试(可选)
make test
6. 安装到系统
sudo make install
Windows环境编译
在Visual Studio命令提示符下执行:
mkdir build
cd build
cmake .. -G "NMake Makefiles" -DWIN32=ON
nmake
验证安装
安装完成后,可以通过以下命令验证GmSSL是否安装成功:
gmssl version
主要功能特性
支持的密码算法
- 分组密码:SM4 (CBC/CTR/GCM/ECB/CFB/OFB/CCM/XTS), AES (CBC/CTR/GCM)
- 序列密码:ZUC/ZUC-256, ChaCha20
- 哈希函数:SM3, SHA-1, SHA-224/256/384/512
- 公钥密码:SM2加密/签名, SM9加密/签名
- MAC算法:HMAC, GHASH, CBC-MAC
- 密钥导出函数:PBKDF2、HKDF
证书和数字信封
- 数字证书:X.509证书, CRL证书注销列表, CSR证书签名请求
- 私钥加密:基于SM4/SM3口令加密的PEM格式私钥
- 数字信封:SM2密码消息
SSL协议支持
- TLCP 1.1协议
- TLS 1.2协议
- TLS 1.3协议
多语言接口支持
GmSSL通过子项目提供多种编程语言绑定:
- Java语言绑定(JNI方式)
- PHP语言绑定(PHP扩展方式)
- Go语言绑定(CGO方式)
- Python语言绑定(ctypes方式)
- JavaScript实现(纯JavaScript)
性能测试
GmSSL提供了丰富的性能测试工具,可以通过以下命令启用性能测试:
cmake .. -DENABLE_TEST_SPEED=ON
make
./bin/sm4test
./bin/sm3test
./bin/sm2_signtest
./bin/sm2_enctest
./bin/sm9test
./bin/zuctest
使用示例
SM4加密示例
# 生成SM4密钥
gmssl sm4keygen -out sm4.key
# 使用SM4-CBC模式加密文件
gmssl sm4 -encrypt -in plain.txt -out encrypted.dat -keyfile sm4.key
SM2密钥生成和签名
# 生成SM2密钥对
gmssl sm2keygen -out sm2.pem
# 对文件进行签名
gmssl sm2sign -key sm2.pem -in document.txt -out signature.sig
常见问题解决
- 编译错误:确保系统中已安装所有必要的开发工具和依赖库
- 安装权限问题:在Linux/macOS系统上使用sudo权限进行安装
- Windows环境配置:确保使用Visual Studio命令提示符进行编译
总结
GmSSL作为国产密码算法的重要实现,为开发者提供了完整的国密算法解决方案。通过本文的安装指南,您可以快速在各类平台上部署和使用GmSSL,为您的应用提供符合国家标准的密码安全保障。
GmSSL架构图
GmSSL项目持续更新和维护,建议定期关注项目更新以获取最新功能和安全修复。
【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 项目地址: https://gitcode.com/gh_mirrors/gm/GmSSL
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



