GmSSL 国密算法库安装与使用指南

GmSSL 国密算法库安装与使用指南

【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 【免费下载链接】GmSSL 项目地址: 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

常见问题解决

  1. 编译错误:确保系统中已安装所有必要的开发工具和依赖库
  2. 安装权限问题:在Linux/macOS系统上使用sudo权限进行安装
  3. Windows环境配置:确保使用Visual Studio命令提示符进行编译

总结

GmSSL作为国产密码算法的重要实现,为开发者提供了完整的国密算法解决方案。通过本文的安装指南,您可以快速在各类平台上部署和使用GmSSL,为您的应用提供符合国家标准的密码安全保障。

GmSSL架构图

GmSSL项目持续更新和维护,建议定期关注项目更新以获取最新功能和安全修复。

【免费下载链接】GmSSL 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱 【免费下载链接】GmSSL 项目地址: https://gitcode.com/gh_mirrors/gm/GmSSL

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值