php gmssl,关于GmSSL

php gmssl,关于GmSSL关于 GmSSLGmSSL 是一个开源的密码工具箱 支持 SM2 SM3 SM4 SM9 ZUC 等国密 国家商用密码 算法 SM2 国密数字证书及基于 SM2 证书的 SSL TLS 安全通信协议 支持国密硬件密码设备 提供符合国密规范的编程接口与命令行工具 可以用于构建 PKI CA 安全通信 数据加密等符合国密标准的安全应用 GmSSL 项目是 OpenSSL 项目的分支 并与 OpenSSL 保持接口兼容 因此 GmSS

关于GmSSL

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系列标准文本

快速上手

项目文档

本项目受网络空间安全专项2018YFB0和Intel计划支持。

Copyright © 2014 – 2017 The GmSSL Project, All Rights Preserved.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213810.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午5:35
下一篇 2026年3月18日 下午5:36


相关推荐

  • java版jieba分词

    java版jieba分词java 版 jieba 分词及解释导入依赖 dependency groupId com huaban groupId artifactId jieba analysis artifactId version 1 0 2 version dependency

    2026年3月20日
    2
  • python深度学习库系列教程——python调用opencv库教程

    python深度学习库系列教程——python调用opencv库教程全栈工程师开发手册(作者:栾鹏)python教程全解OpenCV安装pipinstall–upgradesetuptoolspipinstallnumpyMatplotlibpipinstallopencv-pythonOpenCV的结构和Python一样,当前的OpenCV也有两个大版本,OpenCV2和OpenCV3。相比OpenCV2,OpenCV3提供了

    2026年4月14日
    4
  • 【matlab】常用函数importdata

    importdata没有头文件并且全是数字用load,有头文件并且数据类型统一用importdata。查看帮助用helploadhelpimportdatadata.txt内容如下:a1a2a3b1b2b3123444656测试代码:delimiterIn=”;%字符分隔符headerlinesIn=2;%文件头的行数A=

    2022年4月9日
    57
  • B样条曲线(B-spline Curves)

    B样条曲线(B-spline Curves)关键字:NURBS,基函数,控制点,节点,另一个讲的很好的https://www.cnblogs.com/icmzn/p/5100761.html看了网上很多相关资料才得以下笔,资料太多,这里就不一一列举了,感谢各位大佬的资料本博客顺序不太好,看前面的东西可能需要提前看后面的东西。正在努力修炼,敬请谅解写了个B样条曲线计算的完成程序,包括绘图,https://download.c…

    2022年6月18日
    35
  • Set集合详解

    Set集合详解定义:一个set集合不能包含重复的元素,set实现Collection并增加了hashCode和equals方法。set不允许存储值相同的元素,原因为在取值的时候set依靠的是元素本身取值。由于set提供了hashCode和Equals方法,所以set支持比较。set主要实现HashSet,TreeSet,LinkedHashSet(后面会分别以不同的文章介绍着三种实现)set允许存储一个null…

    2022年6月3日
    147
  • html显示毒经,谁能肩负剑三PVE王者之名?哪怕职业再强,这点恐怕都比不上毒经…「建议收藏」

    html显示毒经,谁能肩负剑三PVE王者之名?哪怕职业再强,这点恐怕都比不上毒经…「建议收藏」随着白帝江关的削弱,全民PVE的时代来临,最近打本的人是越来越多了。对于很多入坑pve的萌新来说,一个问题就来了:我玩啥职业?什么职业才是副本里的最强王者?每当面对萌新这样的提问,剑三各大门派“招生办”就立马启动了,为了证明自己才是PVE中的王者,以下几个门派就站了出来,纷纷表示要是说这个,我可就来劲了!玩最帅的气纯,下最强的镇山河首先我要推荐你玩气纯,作为pve中的常青职业,气纯凭着一手“镇山河…

    2025年6月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号