当前位置: 首页 > news >正文

电子印章结构以及规范讲解

前言

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

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

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

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

印章数据结构

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

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

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

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

相关文章:

  • Mysql面试题汇总
  • 抗疫众志成城网页设计成品 抗击疫情感动人物网页制作模板 大学生抗疫静态HTML网页源码 dreamweaver网页作业致敬逆行者网页设计作品
  • Python基础-8-函数
  • linux 中 mq_notify 创建线程监控消息队列实现原理
  • 计算机毕业设计Java家用饰品在线销售系统(源码+系统+mysql数据库+lw文档)
  • 06_openstack之创建云主机和常见错误
  • @EventPublisher + @Async 异步事件流详解
  • 4.JVM垃圾收集机制
  • 【Android App】人脸识别中OpenCV根据人脸估算性别和年龄实战(附源码和演示 超详细)
  • 《前端》JavaScript--常用库API
  • MySQL8高级
  • python零基础入门(完整版)
  • 嵌入式 ADC使用手册完整版 (188977万字)(附源码详细篇)
  • Python数据分析实战-实现一维列表(数组)和多维列表(数组)的相互转化(附源码和实现效果)
  • 前端知识大全之HTML
  • JUC系列(六) 线程池
  • 软件测试工具
  • C语言文件操作
  • 夯实算法-整数转罗马数字
  • 【Linux】apt-get 命令
  • 揭秘神舟十九号返回舱“软着陆”关键:4台发动机10毫秒内同时点火
  • 金砖国家外长会晤落幕,外交部:发出了反对单边霸凌行径的“金砖声音”
  • 史学巨擘的思想地图与学术路径——王汎森解析梁启超、陈寅恪、傅斯年
  • 民营经济促进法出台,自今年5月20日起施行
  • 探索演艺产业新路径,2万观众走进音乐科技融创节
  • 对谈|李钧鹏、周忆粟:安德鲁·阿伯特过程社会学的魅力