php gmssl,GmSSL是什么
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是什么相关推荐
- Windows下gmssl使用记录
使用gmssl进行计算sm4,编译的版本是gmssl2.0,2.1版本编译不过去 第一步下载软件,下载Visual Studio 2010旗舰版.nasm-2.13.03-installer-x86. ...
- Linux笔记-Centos7编译安装GmSSL
这里我的OpenSSL版本为1.0.2 先升级到1.1.0 wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.z ...
- arch linux arm下载_linux系统下编译给android JNI调用的Gmssl库
编译给android JNI调用的Gmssl库的方法,网络上并不多.按照叶大强(CSDN账号:hkNaruto)写的<GmSSL Android NDK编译 (版本95c0dba>的帖子编 ...
- 加密模式 openssl sm4_OpenSSL/GmSSL 动态引擎
OpenSSL 简介 OpenSSL 是包含安全套接字层和传输层安全协议的开源软件库,它几乎成为安全领域的事实标准,大部分的服务器和客户端都使用 OpenSSL,一些硬件加密算法的实现通常也需要使用 ...
- ubuntu20编译Gmssl时,“version OPENSSL_1_1_0d not defined”问题的较好解决办法
编译安装gmssl后,运行遇到问题: error:while loading shared libraries: libssl.so.1.1: cannot open shared object fi ...
- 国密gmssl命令行生成SM2证书
简介 这周,实习公司要我去了解一下gmssl生成证书的流程,以便之后去验证SKF的证书接口.首先就来体验一下用指令完整证书的生成操作.目前,有一些文章已经有相关的详细介绍,但还是存在一定问题,如:CA ...
- gmssl 国密ssl流程测试
gmssl 国密ssl流程测试 前言 一 gmssl ssl流程测试 单证书单向认证 二 gmssl ssl 流程 单证书 双向认证 三 gmssl gmtls 流程 双证书 单向认证 四 gmssl ...
- centos7.5下gmssl安装使用教程
安装步骤: git clone https://gitee.com/mirrors/GmSSL.git cd GmSSL ./config make sudo make install 安装之后可以执 ...
- OpenSSL/GmSSL 动态引擎
OpenSSL 简介 OpenSSL 是包含安全套接字层和传输层安全协议的开源软件库,它几乎成为安全领域的事实标准,大部分的服务器和客户端都使用 OpenSSL,一些硬件加密算法的实现通常也需要使用 ...
- gmssl国密sm2(生成密钥对-私钥签字-证书验签)
生成密钥对: #include <stdio.h> #include <string.h> #include <stdlib.h> #include "e ...
最新文章
- C++复数类面向对象的参考
- python存储numpy数据为文件_numpy.savetxt是否将数组保存到文件中的特定位置?
- springMVC通过ajax传递参数list对象或传递数组对象到后台
- kafka学习汇总系列(一)kafka概述
- 2012.2.18-silverlight设计器崩溃
- CNNIC公告称半个月已处理不良网站域名万例
- Secure CRT修改文件夹的颜色
- php携程 线程,244,android线程与协程以及携程的使用方法
- 对象删除某个属性_充分了解JavaScript中【对象】的概念(二)
- 工业无线技术在未来工厂运营中的机遇和挑战
- SpringBoot框架DataSource多数据源配置
- Codeforces Round 701 Multiples and Power Differences
- dedeCMS采集插件自动采集文章自定义接口
- Linux下载安装Netcat
- 克转换成千克怎么算python_如何在Python中将磅转换为千克
- mysql 事件报错1314_mysql 1314
- ngui 教程一 转载自:雨松MOMO程序研究院
- LightDB(pg) 通过DBeaver执行SQL发现SQL不能并行
- android 9 预装可卸载的app,只安装一次
- 个人界面(5分钟教学)