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

制证书、制电子印章、签章 -- 演示程序说明

 ofd签章系统涉及证书的制作、电子印章制作、签章、验章等环节。关于ofd签章原理,本人写过多篇文章进行了阐述; 见文章《ofd板式文件 电子签章实现方法》、《一款简单易用的印章设计工具》、《签章那些事 -- 让你全面了解签章的流程》。

    为了进一步加深对签章过程的理解,我开发了签章演示程序。本文就介绍该程序的使用。该程序有三个功能:制作x509格式证书、制作电子印章、对ofd文件签章。

        点击下载演示程序。

1 制作x509格式证书

   证书生成过程其实就是颁发者使用私钥,对生成的证书(包含使用者的公钥等信息)做签名。

   正常流程,证书是由CA机构颁发的。每个城市基本都有一个CA机构,这些机构的证书是在可信目录列表中的。技术上来讲,CA机构生成证书与本程序生成的证书并无区别。

    注:密钥号就对应着一对私钥公钥信息,程序就是根据密钥号查找对应的私钥公钥。这些信息是存储在SignKeyManage.json文件中。

   颁发者就是CA机构,其密钥号为860。使用者密钥号为866。就是使用860对应的私钥对证书做签名。证书就包含866密钥号对应的公钥信息。

2 生成印章

    电子印章是包含使用者签名信息、证书信息等的文件。电子印章有多个国家标准,本程序使用印章标准如下:

   电子印章包含制章者证书、签章者证书、印章图片等信息。这些信息经过制章者私钥签名,就生成了电子印章。

  注:制章者对应的密钥号为866,通过该号就能找到其私钥。值章者和签章者可以为同一个人,就是使用同一个证书。

 3 签章

   签章的目的是为了保护文件的完整性、不可抵赖性。 

    电子印章有两个作用:1 电子印章中的图片信息,会在ofd文件上显示。2 签章者证书可用于验章。

    比如李四.esl,包含李四的证书信息;李四对应的密钥号为866。所以,如果使用李四的印章,就必须使用866对应的私钥对ofd文件签章。

后记:作者对ofd相关技术做了多年研究,写了一系列这方面的文章,编写了大量程序。本程序从技术原理上揭示了签章涉及的流程。虽然只是演示系统,但是与真实系统比较,技术原理是完全一致的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关系型数据库 - MySQL I
  • 短剧市场快速发展,短剧APP成为了新的商业机遇
  • 价值流案例研究:实战经验与成功实践的深度解析
  • 持续基础怎么搞?Jenkins+Docker+Git实战
  • 解决Win10版Township进度保存问题
  • [linux]GCC G++官方源码国内下载地址汇总
  • 二进制方式安装Helm
  • Unity+LeapMotion2的使用
  • 供应链一件代发系统开发 S2B2b2C系统的设计方案
  • 大三大四
  • 智能体 vs AI智能体:区别与联系,一文读懂!
  • JeecgBoot自定义多选组件JCheckBtnGroup
  • Redis 的标准使用规范之数据类型使用规范
  • 【学员提问】对于typescript的assert和casting,即类型断言和类型转换,我还不太理解,请结合例子梳理下知识点,并且出几道题考考我
  • 普发Pfeiffer TCP600TCP5000手侧
  • [PHP内核探索]PHP中的哈希表
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular Elements 及其运作原理
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES6之路之模块详解
  • PHP 的 SAPI 是个什么东西
  • Python学习之路13-记分
  • Redis在Web项目中的应用与实践
  • Redux 中间件分析
  • Spark学习笔记之相关记录
  • storm drpc实例
  • vue2.0项目引入element-ui
  • 力扣(LeetCode)22
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 双管齐下,VMware的容器新战略
  • 我建了一个叫Hello World的项目
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • ​configparser --- 配置文件解析器​
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • $refs 、$nextTic、动态组件、name的使用
  • (C语言)球球大作战
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (四)opengl函数加载和错误处理
  • (四)汇编语言——简单程序
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .net web项目 调用webService
  • .NET 回调、接口回调、 委托
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET学习教程二——.net基础定义+VS常用设置
  • .net专家(张羿专栏)
  • /3GB和/USERVA开关
  • @Autowired @Resource @Qualifier的区别