![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SM2算法的加密签名消息语法规范
文章平均质量分 91
天对地,雨对风
三更灯火五更鸡,正是男儿读书时。
黑发不知勤学早,白首方悔读书迟
展开
-
SM2算法的加密签名消息语法规范(五)如何构造signedAndEnvelopedData
前面的文章中已经介绍了国密规范中的带签名的数字信封数据signedAndEnvelopedData类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程根据RFC规范,在结合GM/T 0010规范的要求,带签名的数字信封由任意类型的加密内容、加了密的一个/多个接收者的内容加密密钥和一个/多个签名者的签名组成。其生成过程如下: a. 发送方随机产生一个对应于特定加密算法的内容加密密钥(即会话密钥)。 b. 发送方将内容加密密钥用每个接收者的公钥加密。(算...原创 2021-01-14 09:26:20 · 3157 阅读 · 3 评论 -
SM2算法的加密签名消息语法规范(四)如何构造envelopedData
前面的文章中已经介绍了国密规范中的数字信封数据envelopedData类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程根据RFC规范,在结合GM/T 0010规范的要求,构造数字信封数据的过程如下: a. 产生一个对应于特定加密算法的内容加密密钥(即会话密钥或对称密钥); b. 将内容加密密钥用每个接收者的公钥加密。(算法为:sm2-3 公钥加密算法 OID:1.2.156.10197.1.301.3) c. 对于每一个接收者,把加了密...原创 2021-01-13 17:39:18 · 3216 阅读 · 4 评论 -
SM2算法的加密签名消息语法规范(三)如何构造signedData
前面的文章中已经介绍了国密规范中的签名数据signedDatal类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程GM/T0010规范中签名数据类型结构定义与RFC规范中一致。根据RFC规范,构造签名数据的过程涉及到以下步骤: a. 对于每个签名者,他用消息摘要算法计算出摘要值;(对于GM/T 0010规范,使用摘要算法为SGD_SM3) b. 对于每一个签名者,消息摘要和相关的信息用自己的私钥加密(即签名);(对于GM/T 0010规范,使用S...原创 2021-01-13 15:27:06 · 4735 阅读 · 0 评论 -
SM2算法的加密签名消息语法规范(二)如何构造
前面的文章中已经介绍了国密规范中的签名数据signedDatal类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/既然是要构造国密规范的消息语法数据类型,那当然要用到gmssl库咯。(GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。)我们知道openssl中是已实现了RFC规范中的各种类型数据的定义。这些定义在gmssl中同样存在。从之前的文章我们了解到国密规范的消息语法类型与.原创 2021-01-13 11:07:20 · 3367 阅读 · 2 评论 -
SM2算法的加密签名消息语法规范(一)介绍
由于最近项目中需要根据国家密码局的规范(GM/T 0010)实现SM2密码算法加密签名消息数据的封装,花了些时间进行了下研究,现属文以记之~(^_−)☆ 接下来先介绍sm2算法的消息语法规范,至于具体如何通过gmssl库去实现消息数据的封装,小编将在之后的文章中逐一讲解。OK, 进入正题~首先我们知道PKCS#7中规定了6种数据内容:明文数据(Data)、签名数据(Signed-data),数字信封数据(Enveloped-data),带签名的数字信封数据(Signed-and-envelop...原创 2021-01-12 15:08:44 · 8584 阅读 · 2 评论