搜索

SM2国密算法证书解析

gecimao 发表于 2019-07-03 00:59 | 查看: | 回复:

  数字证书使用ASN.1编码,证书文件以二进制或Base64格式存放,数据格式使用TLV(Tag Length Value)形式,T代表类型标识符,L是长度值标识符,V代表值编码。数字证书中的每一项都有个对应的类型T。一个数字证书就是一个大的TLV序列,然后V又由多个TLV组合而成。

  SM2证书数据和RSA算法证书一样,包含证书版本、序列号、颁发者、使用者主体信息、使用者公钥、有效期、证书扩展项等,只不过SM2证书的公钥算法是使用ECC算法的Oid标识(1.2.840.10045.2.1),然后公钥参数使用SM2国密算法的Oid标识(1.2.156.10197.1.301)。

  SM2证书配套的签名算法是基于SM3的SM2签名算法,算法Oid标识为1.2.156.10197.1.501,另外SM2国密算法还定义基于SHA_1、SHA_256的签名,以及使用SM3算法的RSA的签名,只不过签名算法Oid标识不一样。

  SM2的签名数据由2个BigInteger大数组成,再使用Der编码存放签名数据。证书的签名数据由根证书私钥进行签名,使用根证书公钥验证,顶级根证书使用自己的证书公钥验证。

  数字证书的每项都有对象标识Oid,SM2数字证书的主要区别就是公钥算法、公钥参数、签名算法标识不一样,其余的都是X509里标准项。数字证书常见得对象标识有如下:

  数字证书的解析主要是根据ASN.1语法和对象标识符来获取值,然后再是证书的有效期、颁发机构根证书、CRL吊销状态和使用目的等验证。RSA证书是标准算法大部分平台都可以解析,而SM2国密算法证书的解析就不是那么通用的。在Windows的一些较高版本打开SM2证书会显示“验证信任关系时,系统层上出现了一个错误”,这是因为Windows还不支持SM2算法证书验证,不能识别SM2签名的算法标识,因此需要自行验证SM2证书的签名数据,可基于BouncyCastle开源加密库来实现SM2验证签名,详细参见我的国密算法SM2证书制作。

  原文:前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件设备大都同时支持RSA和SM2算法,...博文来自:Mr.Kim.Wu 的日记

  SM2签名验证算法SM2签名同样也是需要先摘要原文数据,即先使用SM3密码杂凑算法计算出32byte摘要。SM3需要摘要签名方ID(默认8)、曲线参数a,b,Gx,Gy、...博文来自:Johan_欧巴 在成长

  hi,大家好: 本人最近在做一个项目,需要用到国密算法,在咱们CSDN上下载了一些算法的实现,但在OPENSSL中应用SM2算法时遇到了一些问题,还请有类似经验的同仁们能给予帮助,在此谢过! 问题描述论坛

  使用CryptoAPI解码X509证书的基本项,比如版本、序列号、公钥算法、证书用途、颁发者、使用者、有效期等。...博文来自:Singler的专栏

  在之前的文章“通过OpenSSL解码X509证书文件”里。讲述了怎样使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法。以下我们接着讲述怎样通过证书上下文结构体X509,获得...博文来自:weixin_34217773的博客

  前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件设备大都同时支持RSA和SM2算法,只是应用系统的加解密签名验证需要修改,这个更改底层调用的加密动态库来,原来RSA用的对称加密...博文来自:weixin_34090643的博客

  通常的X509证书是国际通用的RSA证书,现在国家推出了自己的加密算法,SM2算法,本文根据自己工作中遇到的情况,试图讲一下国密SM证书的有效性验证。证书在本地存储一般是DER(二进制)格式的,网络传...博文来自:liyong314159265的专栏

  各位大佬,大家好 。因为国产化来势汹汹,我家老大命我研究下ssl使用国产算法证书的问题。 经过一周的研究(最新版openssl 已经支持国密算法),现在卡在证书认证部分。也就是认证证书链的问题,用 o论坛

  国密认证遇到的一些问题记录:gmssl生成的key文件解析:gmssl生成的SM2证书文件解析:...博文来自:qishandaxue的专栏

  今天这里主要为了给大家介绍一个开源国密openssl的实现,这版实现是北京江南天安科技有限公司的开源版,完全符合国密规范GMT0024-2014《SSLVPN技术规范》。这里把github上的read...博文来自:兼容并蓄终宽阔,若谷虚怀鱼自游

  国密算法是国家商用密码管理办公室制定的一系列密码标准,可分为对称算法和非称算法。对称算法包括了SM1、SM4、SM7、祖冲之密码(ZUC);非对称算法:SM2、SM9SM3为哈希算法。SM1、SM7算...博文来自:yimiguan的博客

  深入理解加密、解密、数字签名和数字证书 随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设...博文来自:No talent

  上文说到了国家有自己的加密算法,那么本文就描述了如何鉴别SM2的证书算法是什么样的。。  国密局规定,SM2证书中签名算法OID为1.2.156.10197.1.501,公钥算法的OID为1.2.84...博文来自:脱缰的牛

  利用BouncyCastle开源库解析国密SM2证书Java实现1.数字证书科普2.代码用法:1.数字证书科普数字证书由权威机构——CA机构,又称为证书授权(CertificateAuthority)...博文来自:奔向自由实现

  SM2是一种非对称秘钥加密算法。用最明白的话说:从一个私钥可以生成唯一一个公钥(不考虑随机数,在这里把随机数固定),所以测试工具里先输入私钥再点击生成秘钥对一个公钥可以找出很多私钥加密时输入的参数是:...博文来自:的博客

  开发了一个web网站,需要导入服务器证书,但是导入这个证书时会报一个错误叫个人存储区打开失败。 不知道问题原因,后来发现在ie的证书里 受信任的和不受信任的 反正就是所有的证书都报了一个错误 验证信任论坛

  今天在windows2003系统下给IIS6.0下一个站点做SSL处理后;在我本机Win7上,打开IE8去访问那个站点时,出现证书错误:不受信任的证书。如下图所示:2、从网上找了些相关方法(比如点击那...博文来自:Kevin.Chen - 专注前行

  如题,安装.NET Framework 4.5时提示“验证信任关系时,系统层出现了一个错误”。本人菜鸟一枚,求各位大大指导一下,江湖救急,感激不尽论坛

  随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施(PKI,PublicKeyInfra...博文来自:bob_fly1984的专栏

  【摘要】本文主要讲解“国密加密算法”SM系列的C#实现方法,不涉及具体的算法剖析,在网络上找到的java实现方法比较少,切在跨语言加密解密上会存在一些问题,所以整理此文志之。JAVA实现参考http:...博文来自:bruce135lee的专栏

  作者:彭金龙 原文地址:在前面文章我们已经可以制作SM2证书了,主要应用了SM2签名验证算法和SM3摘要算法,在本...博文来自:Mr.Kim.Wu 的日记

  图解SM2算法流程——第1章概述 A.SM2主要功能 A.1. 公私钥私钥:BN_大整数公钥:EC-Point椭圆曲线部分——数字签名算法A.2.1 签名(UserA)l ...博文来自:云与山的彼端

  这得从几个方面来讲1.官方文档中的问题这里就不贴官文了,在我另一篇文章中给了下载链接,做这个实现的估计也是人手一份了。以下只解释了三个问题。1.1第12页,有如下一行在上边的计算中有3*10^2+1它...博文来自:conquerwave的专栏

  jquery/js实现一个网页同时调用多个倒计时(最新的)nn最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦!nnnn//jsn...博文来自:Websites

  这一篇,代码折腾的时间较长,完成之后都是一些小细节,主要有三:n1、引入的依赖错误;n2、启动配置错误;n3、xml文件的mapper命名空间错误。n一、完整的pom.xmlnn...博文来自:lxhjh的专栏

  本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。1、 Esp8266之 搭建开发环境,开始一个“hellow worl...博文来自:徐宏的博客。

  扫二维码关注,获取更多技术分享nnn 本文承接之前发布的博客《 微信支付V3微信公众号支付PHP教程/thinkPHP5公众号支付》必须阅读上篇文章后才可以阅读这篇文章。由于最近一段时间工作比较忙,...博文来自:Marswill

  采用EasyUI 1.4.x 版本,默认default风格,异步加载页面,多Tab页展示,使用JSON文件模拟从后台动态获取数据。...博文来自:般若

  DirectX修复工具API Sets强力修复实验包下载地址:nn密码:5y5vnnnn实验包使用说明...博文来自:VBcom的专栏

  接着上次的图书管理系统rnrn修改完问题后把SpringBoot成功部署到了服务器上rn测试了下api接口,能正常访问rn那么下面就是在服务器上部署前端的vue.js了rnrnrn这里的话我们要明确一...博文来自:小时的枫的博客

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  MyEclipse中最常用的快捷键大全(绝对实用!!),快来收藏一下吧!!

  java getBytes()和new String()操作系统编码格式

  网络字节顺序和主机字节顺序的转换(htons ntohs htonl ntohl)

本文链接:http://robynlynne.com/duixiangbiaoshifu/637.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部