前言

为了确保电子印章的完整性、不可伪造性,以及合法用户才能使用,需要定义一个安全的电子印章数据格式,通过数字签名,将印章图像数据与签章者等印章属性进行安全绑定,形成安全电子印章

电子印章:一种由电子印章制章者数字签名的安全数据

制章者:电子印章系统中具有电子印章制作和管理权限的机构

注:电子印章中的图像和相关信息应经制章者进行数字签名,电子印章中的制章者证书应是该机构的单位证书

印章数据结构

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) 验证电子印章的有效期

根据印章属性中的印章有效期起始时间和有效期终止时间,验证电子印章是否过期

如果电子印章已经过期,则验证失败,返回错误代码并退出验证流程

如果上述步骤都验证成功,则电子印章验证正确有效,可正常退出验证流程

电子印章结构以及规范讲解相关推荐

  1. 电子签章结构以及规范讲解

    前言: 安全电子签章是通过采用PKI公钥密码技术,将数字图像处理技术与电子签名技术进行结合,以电子形式对加盖印章图像数据的电子文档进行数字签名,以确保文档来源的真实性以及文档的完整性,防止对文档未经授 ...

  2. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  3. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  4. sm2电子印章结构体

    概述 统一电子印章系统的电子签章是采用 PKI 公钥密码技术,将数字图像处理技术与电子签名技术进行结合,以电子形式对加盖 印章图像数据 的电子文档进行数字签名,以确保文档来源的真实性以及文档的完整性, ...

  5. 基于 Google Flutter 的 WanAndroid 客户端,支持 Android 和 iOS。包括 BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构比较规范的代

    flutter_wanandroid 项目地址:Sky24n/flutter_wanandroid  简介:??? 基于 Google Flutter 的 WanAndroid 客户端,支持 Andr ...

  6. Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解

    Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解 (1)sockaddr struct sockaddr { unsigned  short  sa_ ...

  7. c语言sockaddr_in结构体,转:sockaddr与sockaddr_in结构体详细讲解

    sockaddr与sockaddr_in结构体详细讲解 二者区别 struct sockaddr { unsigned short sa_family;     /* address family, ...

  8. 结构专业规范大全_2019年一、二级注册结构师专业考试所用的规范、标准、规程...

    一级注册结构工程师 1.<建筑结构可靠度设计统一标准>GB 50068-2001 10元 2.<建筑结构荷载规范>GB 50009-2012 48元 3.<建筑工程抗震设 ...

  9. 结构专业规范大全_1.2万篇 建筑行业规范大全套!速来!

    应广大站友以及会员用户对建筑规范的要求,我们整理了近几年来国家发布的各个专业的标准.规范.图集,以及全国各地共32个地区的区域标准,总计12000余篇,共计80G+的建筑行业规范! BIMer自学站将 ...

最新文章

  1. 亿级用户基于微服务的互联网系统稳定性~
  2. AI寒冬论作者再发文:「深」度学习对数据的理解太「浅」了
  3. Python 学习第十八天 js 正则及其它前端知识
  4. nginx rtmp代码架构1 hook点总结
  5. luogu P4240 毒瘤之神的考验(莫比乌斯反演+递推前缀和+数论分块)
  6. C/C++——++i、i+=1、i++之间的区别(附在学习boost时遇到的例子)
  7. Java Swing Mysql学生信息管理系统
  8. 窗口操作-关闭,最小化
  9. [似水流年]夜色渐深窗内静坐有感
  10. C++之调用C的so
  11. vmware15安装‘黑苹果’macOS 10.13(17A365)
  12. 3D打印:我的打印机使用经验技巧记录
  13. Access键盘快捷键大全(一)
  14. 吴伯凡-认知方法论-我的休息
  15. 供给侧结构性改革语境应对世界市场 国稻种芯百团计划行动
  16. postgresql12的同步流复制搭建及主库hang问题处理和分析
  17. 吉林大学嵌入式原理课程课堂作业
  18. 哈工大深圳计算机水平怎么样,赞!哈工大(深圳)学子在第四届“龙芯杯”全国大学生计算机系统能力培养大赛中获多个奖项...
  19. 再读《架构即未来》有感
  20. 文章翻译:Recommending items to more than a billion people(面向十亿级用户的推荐系统)...

热门文章

  1. QPE(量子相位估计)
  2. (转)使用jsonp帮助你知道关注的他或她QQ音乐中搜藏了什么歌曲
  3. 习题9-2(免费糖果)【深搜dfs】+【记忆化搜索】
  4. 垃圾收集 (Garbage Collection,GC)
  5. 以太坊学习笔记(持续更新,欢迎指正)
  6. CString 使用详解
  7. redirect重定向
  8. mysql 军规_Mysql使用军规
  9. Linux vim分屏,如何切换窗口
  10. 水晶五笔下载地址(非技术)