sm2电子印章结构体
概述
统一电子印章系统的电子签章是采用 PKI 公钥密码技术,将数字图像处理技术与电子签名技术进行结合,以电子形式对加盖 印章图像数据 的电子文档进行数字签名,以确保文档来源的真实性以及文档的完整性,防止对文档未经授权的篡改,并确保签章行为的不可否认性。在使用电子印章对各种文档进行电子签章过程中,签章者通过数字签名对文档数据进行签章处理,从而达到与传统纸质文件盖章操作相同的可视化效果,同时又利用数字签名技术保障了文档数据的真实性、完整性以及签章者行为 的不可否认性 。统一电子印章系统中数字签名算法为SM2 杂凑 算法为 SM3 。
1.2.156.10197.1.301 : SM2椭圆曲线公钥密码算法
1.2.156.10197.1.501 : SM3WithSM2Encryption
通过上图我们可以看到以下内容:
- 三个主要的数据结构:1、电子签章结构体;2、电子印章结构体;3、印章结构体。他们包含关系是 1包含2;2包含3。
- 三次用到算法加密:两个签名值、一个原文杂凑值
- 三个证书:两次用到签章者证书、一次制章者证书
签章的大致流程需要四步。
1:构造印章信息
类似于c语言的结构体。将对应属性的值赋值后。
2:构造电子印章结构体
根据有效的数字证书构造出一个印章结构体(C语言的struct)。运用“SM3WithSM2Encryption”对印章结构体进行运算得到了 电子印章的签名值。
3:构造待签名数据
4:构造电子印章结构体
第二步
sm2电子印章结构体相关推荐
- Gin 框架学习笔记(02)— 参数自动绑定到结构体
参数绑定模型可以将请求体自动绑定到结构体中,目前支持绑定的请求类型有 JSON .XML .YAML 和标准表单 form数据 foo=bar&boo=baz 等.换句话说,只要定义好结构体, ...
- Go 知识点(04)— 结构体字段转 json格式 tag 标签的作用
我们知道在 Go 语言中无论是变量.常量还是函数,对于首字母大小写有不同的处理. 首字母大写,标志着该字段或者函数是能导出的,也就是可以被其它包所能访问的: 首字母小写,标志着该字段是私有的,只能在本 ...
- 【C#】枚举_结构体_数组
最近看C#视频,关于这部分,先看了一遍,又照着敲了一遍,自己敲的过程发现了一些有意思的东西. 枚举:定义一个枚举类型的变量,这个变量有很多相同类型的值.比如性别Gender这个变量可以有男和女这两个值 ...
- C++ 结构体struct 的使用
结构体是什么 结构体是一种有开发者定义的数据类型,以容纳许多不同的数据值 结构体的注意事项: 声明结构体的方式和声明类的方式大致相同,其区别如下: 使用关键字 struct 而不是关键字 class. ...
- C语言结构体篇 结构体
在描述一个物体的属性的时候,单一的变量类型是无法完全描述完全的.所以有了灵活的结构体变量. 结构体变量从意义上来讲是不同数据类型的组合,从内存上来讲是在一个空间内进行不同的大小划分. 1.1 结构体类 ...
- 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体
1 //读写结构体 2 #include <stdio.h> 3 typedef struct student 4 { 5 int num; 6 char name[30]; 7 char ...
- Linux 准确查找结构体定义位置
例如:查找文件操作结构体 struct file_operations, 使用转移符 "\" $ grep struct\ file_operations\ { kernel/in ...
- Go 学习笔记(33)— Go 自定义类型 type(自定义结构体、结构体初始化、结构体内嵌、自定义接口)
1. 自定义类型格式 用户自定义类型使用关键字 type ,其语法格式是: type newType oldType oldType 可以是自定义类型.预声明类型.未命名类型中的任意一种. newTy ...
- Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)
1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...
最新文章
- python将二维列表内容写入和读取.txt文件
- android 版本控制
- jquery简洁遮罩插件
- Scala学习笔记:how to convert a StringRDD to Array
- This generally means that another instance of this process was already runni
- BeetleX.FastHttpApi之Vuejs扩展
- php.ini详细介绍与设置,配置
- Vue + echart 实现中国地图 和 省市地图(可切换省份
- Linux学习笔记---修改CPU频率为自动调节模式
- Flutter游戏:简单规则与结束页
- 一个自定义的C#数据库操作基础类 SqlHelper
- SQL数据库语句大全
- 设计师:设计师之家装材料知识之家装八项(吊顶材料、门窗材料、五金材料、墙面材料、地面材料、胶粘材料、油漆材料、水电材料等)之详细攻略
- 815:Flooded!
- 父爱,是一首深沉的诗。
- Lifeline功能介绍01——日历及时间轴的查看
- 计算机颜色管理器,系统颜色管理完全攻略
- 三相电检测电路c语言,三相电缺相检测电路
- 锐龙AMD处理器 AndroidStudio无法安装使用安卓模拟器/虚拟机
- 使用Highcharts来画一个简易的甘特图
热门文章
- 各国际会议的影响因子
- 水平耀斑_将带有油漆和透明度键的耀斑添加到您的C#项目中
- 转载自网眼的QQ微博(http://t.qq.com/zhangking)
- Silverlight的未来【转于博客园】
- 基于多目标优化方法的电梯零部件预防性维修期决策
- 【2016年第4期】基于仿真大数据的效能评估指标体系构建方法
- 12. Vuepress2.x 隐藏指定页的 sidebar
- 无线通信基础知识7:射频器件的基本参数3
- python壁纸4k_Python爬取4k高清动漫壁纸
- 多功能拓展坞设计CS5266|CapstoneCS5266带PD多合一拓展坞方案电路|CS5266方案电路图