GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具。

GmSSL 是一个开源的密码工具箱,支持 SM2/SM3/SM4/SM9/ZUC 等国密(国家商用密码)算法、SM2 国密数字证书及基于 SM2 证书的 SSL/TLS 安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建 PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL 项目是 OpenSSL 项目的分支,并与 OpenSSL 保持接口兼容。因此 GmSSL 可以替代应用中的 OpenSSL 组件,并使应用自动具备基于国密的安全能力。GmSSL 项目采用对商业应用友好的类 BSD 开源许可证,开源且可以用于闭源的商业应用。

GmSSL 项目由北京大学关志副研究员的密码学研究组开发维护,项目源码托管于 GitHub。自 2014 年发布以来,GmSSL 已经在多个项目和产品中获得部署与应用,并获得 2015 年度“一铭杯”中国 Linux 软件大赛二等奖(年度最高奖项)与开源中国密码类推荐项目。GmSSL 项目的核心目标是通过开源的密码技术推动国内网络空间安全建设。

关键特性支持 SM2/SM3/SM4/SM9/ZUC 等全部已公开国密算法

支持国密 SM2 双证书 SSL 套件和国密 SM9 标识密码套件

高效实现在主流处理器上可完成 4.5 万次 SM2 签名[^注 1]

支持动态接入具备 SKF/SDF 接口的硬件密码模块[^注 2]

支持门限签名、秘密共享和白盒密码等高级安全特性[^注 2]

支持 Java、Go、PHP 等多语言接口绑定和 REST 服务接口

路线图

更快、更小、更安全是下一个大版本升级(GmSSL v3.0)的主要目标,我们将从下列方向进行改进:采用 CMake 替代目前基于 Perl 的构建系统

支持 Linux/Windows/macOS/Android/iOS 等主流操作系统,移除对嵌入式 OS 等其他系统的支持

支持 X86/ARM/RISC-V,针对上述平台 64 位指令集做汇编层面的优化

将 C 语言标准由目前的 C89 更新为最新的 C99 或 C11,及部分 GCC 特性,移除对 Perl 的依赖

移除不安全的算法和协议,仅支持国密算法和主流国际算法,提升对 AEAD、TLS 1.3 等新标准的默认支持力度

提升密码算法抗木马、抗侧信道攻击的安全性

降低运行时堆内存的使用量,降低总体二进制代码体积

提供特定于国密算法和协议的统一的多语言(支持 Rust/Java/Go/PHP)封装

保持和 OpenSSL 最新版本的兼容性,实现 GmSSL 和 OpenSSL 在同一个软件中的共存

国密算法

国密算法是国家商用密码算法的简称。自 2012 年以来,国家密码管理局以《中华人民共和国密码行业标准》的方式,陆续公布了 SM2/SM3/SM4 等密码算法标准及其应用规范。其中“SM”代表“商密”,即用于商用的、不涉及国家秘密的密码技术。其中 SM2 为基于椭圆曲线密码的公钥密码算法标准,包含数字签名、密钥交换和公钥加密,用于替换 RSA/Diffie-Hellman/ECDSA/ECDH 等国际算法;SM3 为密码哈希算法,用于替代 MD5/SHA-1/SHA-256 等国际算法;SM4 为分组密码,用于替代 DES/AES 等国际算法;SM9 为基于身份的密码算法,可以替代基于数字证书的 PKI/CA 体系。通过部署国密算法,可以降低由弱密码和错误实现带来的安全风险和部署 PKI/CA 带来的开销。

子项目

本项目包括一些相对独立的子项目:国密浏览器:基于 Chromium 的支持国密 SSL 和证书的通用浏览器

SDF ENGINE:支持提供 SDF 接口的 PCI-E 密码卡和服务器密码机

SKF ENGINE:支持提供 SKF 接口的 USB-KEY、TF 卡等智能密码钥匙

SM9 密钥服务:为个人用户提供基于电子邮件地址的 SM9 标识密钥服务

自助 CA 服务:提供自助式的网站 DV 证书服务和 S/MIME 邮件证书服务

国密标准文本:提供全面的国密 GM/T 系列标准文本

php gmssl,GmSSL是什么相关推荐

  1. Windows下gmssl使用记录

    使用gmssl进行计算sm4,编译的版本是gmssl2.0,2.1版本编译不过去 第一步下载软件,下载Visual Studio 2010旗舰版.nasm-2.13.03-installer-x86. ...

  2. Linux笔记-Centos7编译安装GmSSL

    这里我的OpenSSL版本为1.0.2 先升级到1.1.0 wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.z ...

  3. arch linux arm下载_linux系统下编译给android JNI调用的Gmssl库

    编译给android JNI调用的Gmssl库的方法,网络上并不多.按照叶大强(CSDN账号:hkNaruto)写的<GmSSL Android NDK编译 (版本95c0dba>的帖子编 ...

  4. 加密模式 openssl sm4_OpenSSL/GmSSL 动态引擎

    OpenSSL 简介 OpenSSL 是包含安全套接字层和传输层安全协议的开源软件库,它几乎成为安全领域的事实标准,大部分的服务器和客户端都使用 OpenSSL,一些硬件加密算法的实现通常也需要使用 ...

  5. ubuntu20编译Gmssl时,“version OPENSSL_1_1_0d not defined”问题的较好解决办法

    编译安装gmssl后,运行遇到问题: error:while loading shared libraries: libssl.so.1.1: cannot open shared object fi ...

  6. 国密gmssl命令行生成SM2证书

    简介 这周,实习公司要我去了解一下gmssl生成证书的流程,以便之后去验证SKF的证书接口.首先就来体验一下用指令完整证书的生成操作.目前,有一些文章已经有相关的详细介绍,但还是存在一定问题,如:CA ...

  7. gmssl 国密ssl流程测试

    gmssl 国密ssl流程测试 前言 一 gmssl ssl流程测试 单证书单向认证 二 gmssl ssl 流程 单证书 双向认证 三 gmssl gmtls 流程 双证书 单向认证 四 gmssl ...

  8. centos7.5下gmssl安装使用教程

    安装步骤: git clone https://gitee.com/mirrors/GmSSL.git cd GmSSL ./config make sudo make install 安装之后可以执 ...

  9. OpenSSL/GmSSL 动态引擎

    OpenSSL 简介 OpenSSL 是包含安全套接字层和传输层安全协议的开源软件库,它几乎成为安全领域的事实标准,大部分的服务器和客户端都使用 OpenSSL,一些硬件加密算法的实现通常也需要使用 ...

  10. gmssl国密sm2(生成密钥对-私钥签字-证书验签)

    生成密钥对: #include <stdio.h> #include <string.h> #include <stdlib.h> #include "e ...

最新文章

  1. C++复数类面向对象的参考
  2. python存储numpy数据为文件_numpy.savetxt是否将数组保存到文件中的特定位置?
  3. springMVC通过ajax传递参数list对象或传递数组对象到后台
  4. kafka学习汇总系列(一)kafka概述
  5. 2012.2.18-silverlight设计器崩溃
  6. CNNIC公告称半个月已处理不良网站域名万例
  7. Secure CRT修改文件夹的颜色
  8. php携程 线程,244,android线程与协程以及携程的使用方法
  9. 对象删除某个属性_充分了解JavaScript中【对象】的概念(二)
  10. 工业无线技术在未来工厂运营中的机遇和挑战
  11. SpringBoot框架DataSource多数据源配置
  12. Codeforces Round 701 Multiples and Power Differences
  13. dedeCMS采集插件自动采集文章自定义接口
  14. Linux下载安装Netcat
  15. 克转换成千克怎么算python_如何在Python中将磅转换为千克
  16. mysql 事件报错1314_mysql 1314
  17. ngui 教程一 转载自:雨松MOMO程序研究院
  18. LightDB(pg) 通过DBeaver执行SQL发现SQL不能并行
  19. android 9 预装可卸载的app,只安装一次
  20. 个人界面(5分钟教学)

热门文章

  1. 这些神奇的 QQ 你还记得几个?
  2. 没有鼠标怎么打开笔记本的触摸板
  3. IDEA编辑器常用快捷键
  4. 概率论与数理统计(第四版) 第一章:概率论的基本概念(总结)
  5. Wineskin不能打开添加的程序?macOS版本太高?
  6. dnf韩服服务器维护中,DNF韩服官方居然自己在服务器上开了个“私服”深渊必掉史诗...
  7. Java完全自学手册,从外包到大厂,再到年薪100万都靠它
  8. R语言数据接口(下载、读取、写入)
  9. 某CRM旗舰版功能齐全客户管理系统源码
  10. 粒子群优化算法python实现