电子印章结构以及规范讲解
前言
为了确保电子印章的完整性、不可伪造性,以及合法用户才能使用,需要定义一个安全的电子印章数据格式,通过数字签名,将印章图像数据与签章者等印章属性进行安全绑定,形成安全电子印章
电子印章:一种由电子印章制章者数字签名的安全数据
制章者:电子印章系统中具有电子印章制作和管理权限的机构
注:电子印章中的图像和相关信息应经制章者进行数字签名,电子印章中的制章者证书应是该机构的单位证书
印章数据结构
V4
电子印章由印章信息,制章者证书、签名算法标识、签名值等组成
印章信息
数据结构
印章头
其中:ID:固定值“ES”
version:电子印章数据结构版本号,本标准设定数值是4,代表当前版本是v4
Vid:电子印章厂商标识,在互联互通时,用于识别不同的软件厂商实现
印章标识:esID:区分电子印章的唯一标识编码,用于查找和索引其他信息
印章属性:印章类型、印章名称、签章者证书信息类型、签章者证书信息列表、制作时间、有效期起始时间、有效期终止时间
其中:
type:代表印章类型,可根据业务需要自定义
name:印章名称
certListType:签章者证书信息类型,1-数字证书,2-数字证书的杂凑值
certList:签章者证书信息列表,一个或多个签章者证书或签章者证书杂凑值组成的列表
createDate:印章制作时间
validStart:印章有效期起始时间
validEnd:印章有效期终止时间
印章图像数据:图像类型、图像数据、图像显示宽度、图像显示高度
其中:
type:印章图像数据格式类型,如GIF,BMP,JPG,PNG,SVG等
data:印章图像数据,机构的电子印章宜采用相关国家管理部门指定的印模
width:图像显示宽度(单位为毫米,mm)
height:图像显示高度(单位为毫米mm)
自定义数据
制章者证书
cert:对电子印章进行签名的制章者的数字证书,应符合GB/T 20518中Certificate定义,按DER编码格式存放
签名算法标识
signAlgID:代表签名算法OID标识,应该符合GB/T 33560的规定
示例:基于SM2算法和SM3算法的签名OID为1.2.156.10197.1.501
签名值
signedValue:制章者对电子印章格式中印章信息域SES_SealInfo,按SEQUENCE方式组成的信息内容进行数字签名所得的
v1
印章信息
印章头信息
印章属性信息
印章图片信息
印章签名信息
电子印章验证流程
a) 验证电子印章数据格式的正确性
按照电子印章格式解析电子印章,验证是否符合如上所定义的电子印章数据格式
如果电子印章数据格式不正确,则验证失败,返回错误代码并退出验证流程
b) 验证电子印章签名值是否正确
根据印章信息、制章者证书、签名算法标识来验证电子印章中的签名值是否正确
如果电子印章签名验证失败,返回错误代码并退出验证流程
c) 验证电子印章制章者证书的有效性
验证制章者证书的有效性,验证项至少包括:制章者证书信任链验证,制章者证书有效期验 证、制章者证书是否被撤销、密钥用法是否正确
d) 验证电子印章的有效期
根据印章属性中的印章有效期起始时间和有效期终止时间,验证电子印章是否过期
如果电子印章已经过期,则验证失败,返回错误代码并退出验证流程
如果上述步骤都验证成功,则电子印章验证正确有效,可正常退出验证流程
电子印章结构以及规范讲解相关推荐
- 电子签章结构以及规范讲解
前言: 安全电子签章是通过采用PKI公钥密码技术,将数字图像处理技术与电子签名技术进行结合,以电子形式对加盖印章图像数据的电子文档进行数字签名,以确保文档来源的真实性以及文档的完整性,防止对文档未经授 ...
- java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- sm2电子印章结构体
概述 统一电子印章系统的电子签章是采用 PKI 公钥密码技术,将数字图像处理技术与电子签名技术进行结合,以电子形式对加盖 印章图像数据 的电子文档进行数字签名,以确保文档来源的真实性以及文档的完整性, ...
- 基于 Google Flutter 的 WanAndroid 客户端,支持 Android 和 iOS。包括 BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构比较规范的代
flutter_wanandroid 项目地址:Sky24n/flutter_wanandroid 简介:??? 基于 Google Flutter 的 WanAndroid 客户端,支持 Andr ...
- Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解
Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解 (1)sockaddr struct sockaddr { unsigned short sa_ ...
- c语言sockaddr_in结构体,转:sockaddr与sockaddr_in结构体详细讲解
sockaddr与sockaddr_in结构体详细讲解 二者区别 struct sockaddr { unsigned short sa_family; /* address family, ...
- 结构专业规范大全_2019年一、二级注册结构师专业考试所用的规范、标准、规程...
一级注册结构工程师 1.<建筑结构可靠度设计统一标准>GB 50068-2001 10元 2.<建筑结构荷载规范>GB 50009-2012 48元 3.<建筑工程抗震设 ...
- 结构专业规范大全_1.2万篇 建筑行业规范大全套!速来!
应广大站友以及会员用户对建筑规范的要求,我们整理了近几年来国家发布的各个专业的标准.规范.图集,以及全国各地共32个地区的区域标准,总计12000余篇,共计80G+的建筑行业规范! BIMer自学站将 ...
最新文章
- 亿级用户基于微服务的互联网系统稳定性~
- AI寒冬论作者再发文:「深」度学习对数据的理解太「浅」了
- Python 学习第十八天 js 正则及其它前端知识
- nginx rtmp代码架构1 hook点总结
- luogu P4240 毒瘤之神的考验(莫比乌斯反演+递推前缀和+数论分块)
- C/C++——++i、i+=1、i++之间的区别(附在学习boost时遇到的例子)
- Java Swing Mysql学生信息管理系统
- 窗口操作-关闭,最小化
- [似水流年]夜色渐深窗内静坐有感
- C++之调用C的so
- vmware15安装‘黑苹果’macOS 10.13(17A365)
- 3D打印:我的打印机使用经验技巧记录
- Access键盘快捷键大全(一)
- 吴伯凡-认知方法论-我的休息
- 供给侧结构性改革语境应对世界市场 国稻种芯百团计划行动
- postgresql12的同步流复制搭建及主库hang问题处理和分析
- 吉林大学嵌入式原理课程课堂作业
- 哈工大深圳计算机水平怎么样,赞!哈工大(深圳)学子在第四届“龙芯杯”全国大学生计算机系统能力培养大赛中获多个奖项...
- 再读《架构即未来》有感
- 文章翻译:Recommending items to more than a billion people(面向十亿级用户的推荐系统)...