asp.net 电子签章是怎么做的?怎么防伪的?
时间:2024-01-27 01:20:01 | 来源:网站运营
时间:2024-01-27 01:20:01 来源:网站运营
asp.net 电子签章是怎么做的?怎么防伪的?:电子签章(Electronic Signature)、数字签章(Digital Signature)、加密签名、公钥私钥、非对称加密、哈希加密、C#、MD5
摘要:
电子签章(Electronic Signature)泛指所有以电子形式存在,依附在电子文件并与其逻辑相关,可用以辨识电子文件签署者身份,保证文件的完整性,并表示签署者同意电子文件所陈述事项的内容。包括数字签章技术和逐渐普及的用于身份验证的生物识别技术如指纹、面纹、DNA技术等。本文从OA系统项目中数字签章技术的设计来讲述如何使用微软公司的编程平台
http://Vs.Net中的C#语言来实现数字签章技术。
正文:
1、所谓电子签章就是用于电子文件之上,与传统的手写签名、盖章具有完全相同功能的技术。有了电子签章,任何信息都可以放心地通过网络以电子文件的形式传输,因此,电子签章问题是电子商务和电子政务建设中必须首先解决的核心问题。
2、传统的交易行为和政府间的公文传送,必须要用书面的文件来完成,为了保证文件是某个当事人或者机关签发的,并且文件没有被篡改,还必须要有签发人的手写签字或者公章。电子文件并非只用于合同的签订和政府文件的传递,而是适用于所有信息的传递。可以理想化地认为,未来的信息传递,可以不借助于任何纸张。
3、 实例
目前最成熟的电子签章技术就是“数字签章(Digital Signature)”,它是以公钥及私钥的“非对称型”密码技术制作的电子签章。使用原理大致为:由计算机程序将密钥和需传送的文件浓缩成信息摘要予以运算,得出数字签章,将数字签章并同原交易信息传送给对方,后者可用公钥来验证该信息确实由前者传送、并可查验文件在传送过程是否遭他人篡改,并防止对方抵赖。由于数字签章技术采用的是单向不可逆运算方式,要想对其破解,以目前的计算机速度以及技术而言,几乎是不可能的。文件传输可选择明文或密文进行传输。因此,从某种意义上讲,使用电子文件和数字签章,甚至比使用经过签字盖章的书面文件安全得多。
设计之初,我就先提出了需要解决的几个问题:
如何保证电子文件在传输过程中不被篡改?
如何保证电子文件合法性及不可抵赖?
一般来说要保证电子文件在传输过程中不被篡改,一是对电子文件进行私钥加密。在传输方使用私钥对电子文件进行明文加密,接收方再用私钥对传输过来的密文进行解密,以此来达到电子文件不被篡改。但此方法需要传输方与接收方都拥有私钥而且出现问题后双方都可能指责对方将私钥解密,因此单纯使用此方法,一般都只用于安全性要求不高的应用,不值得推荐。二是传输方对电子文件创建哈希,将电子文件与哈希一同发给接收方,接收方对接受到的电子文件也创建哈希,然后对比哈希值,以此来达到电子文件不被篡改。这是本人所选用的方案。下面是根据本人电子签章设计所写的一个DEMO片段,以供参考。
以下是对电子文件创建哈希的具本实现(使用了MD5加密):
一、产品概述云合同电子合同(yunhetong.com)产品 API4.0 是云合同平台推出的最新的电子合同服务对接解决方案。云合同是一家第三方电子合同服务平台,围绕电子合同生态链:证书申请、合同生成、合同流转、合同签署、合同存证、满足监管为核心建立起的产品线,为广大用户提供一站式安全、有效、便捷、优质的电子合同服务。
云合同 API 囊括证书模块、用户模块、印章模块、合同模块等四大核心基础功能模块,以接口集成+页面集成两种方式为开发者提供应用间完美的解决方案,云合同
API4.0 将电子合同服务内嵌至开发者的后台系统中,从而在业务平台上实现电子合同功能。
集成云合同 API4.0 后的应用可享受由云合同提供的第三方电子签名、电子合同服务,用户无需下载、注册、实名认证多个应用,并与原有业务流程完美契合。接入云合同电子合同服务,有助于合同的签署与管理,降低成本,提高竞争力。
二、产品功能云合同 API 共包括四大模块的核心功能,分别是证书模块、用户模块、印章模块和合同模块。
1、证书模块API4.0 基于行业对于电子签名数据固化的通用做法,提供了用 CA 证书固化电子签名数据的方式,同时提供了多 CA 通道,支持平台方根据业务场景选择对应的 CA 通
道、以及证书的类型,证书根据使用时间长短分为长效证书、场景证书。
2、用户模块用户注册:云合同 API 同步平台应用用户体系,确保用户一一对应,同时备份用户实名信息,确认用户主体身份,并为对应用户申请 CA 证书。
信息修改:当用户信息发生变更时,云合同支持用户基础信息的修改,并自动更新证书信息。
3、印章模块模版印章:云合同 API 提供根据用户姓名,自动生成印章。
自定义印章:云合同 API 提供自定义印章功能,平台方可自定义印章样式并上传使用。同时,用户可通过云合同提供的手绘页面实现在 PC 端、移动端采集用户手写签名,所有签名数据由云合同存储并为安全负责。
个人模版印章支持样式:企业模版印章支持样式:合同生成:云合同 API 支持两种合同生成方式,即“根据模版生成合同”和
“上传文件生成合同”。平台只需将合同关键信息以数据形式传输给云合同, 云合同会调用约定好的模板生成合同并返回供用户查看。
合同签署:云合同 API 支持两种合同签署方式,即“合同签署”和“页面签署”。平台用户可选择主动签署,亦可将签署权限授权给云合同,由云合同代为完成,云合同 API 将自动调用签署者的签名并完成合同签署。
合同查看:云合同 API 支持用户在线查看合同。
合同模板:平台可以自己上传相应的合同模板。方便快捷高效的创建合同。
合同下载:平台可以下载带签名的 pdf 文件保存流转。
三、项目对接整体流程图1、对接流程项目对接整体流程如下图所示。平台应用在上线前需联系对应技术支持人员进行
“应用清库”操作。
1) 注册云合同账号:平台方需登录云合同官网(
https://www.yunhetong.com),注册一个企业账号并完成实名认证后,联系对接人员协助进行开户。
2) 创建平台应用:开发者可登录云合同开放平台(
http://open.yunhetong.com/)创建应用
(测试阶段请创建测试应用,项目正式请创建正式应用),并记录应用信息, 为后续对接工作开展做好准备工作。
3) 获取对接资料:云合同现阶段以 API 对接的方式,向平台提供的电子合同功能。具体接口内容,请查看本指南“第五章 API 接口文档”。
4) 梳理电子合同业务流程:开发者在阅读完《云合同 API 接口文档》之后,根据接口逻辑,梳理平台现有业务流程,并在业务关键节点接入对应接口,即可在现有业务流程上实现电子合同功能,可参考“第四章 接口调用流程“。
5) 接口对接:在此步正式开展对接工作。如在对接中遇到问题,可以联系技术对接人员协助解决。
6) 准备上线:项目在上线前,需联系对接人员进行项目上线确认。此时,对接人员会协助进行“应用清库”操作,并清理应用中的测试数据(包括测试用户数据以及测试合同数据)。
7) 应用上线:应用正式上线。
2、官网注册流程四、接口调用流程以下展示几个典型应用场景的接口调用流程,各项业务服务可灵活调用,具体接口调用以贵平台的业务设计为主。
1、接口调用流程——基础场景2、接口调用流程——合同存证场景3、接口调用流程——页面签署场景
4、接口调用流程——接口意愿认证场景5、小结图中序号为标准电子合同业务操作流程,灰色框为云合同提供的 API 服务。整个电子合同业务流程分为两个阶段:初始化阶段、合同签署阶段。用户仅在第一次使用平台电子合同服务时需做一次初始化,后续可以直接从合同签署阶段开始业务。
关键流程节点说明如下:
1) 配置合同模版:平台需预先登录云合同开放平台,并在应用里上传合同模版,同时配置好“签名占位符”(即签署位置)。
2) 实名认证:云合同 API 服务完全信任平台对平台用户的实名认证结果,在平台用户完成实名认证后,可为对应平台用户申请 CA 证书。同时,云合同可单独提供实名认证增值服务。
3) 生成待签署合同:在确认所有签署者身份后,平台方可调用“根据模版生成合同”或“上传文件生成合同”接口生成待签署合同,并调用“添加参与者”接口为该合同添加签署者并约定签署位置、是否采用意愿认证。
4) 签署合同:即可在合同上加盖平台的印章,云合同提供“页面签署”和“合同签署”两种签署方式。
5) 查看合同:在线查看合同,平台可调用“合同查看”js 方法获取合同的查看 url, 也可以调用“合同下载”接口,自己制作合同查看页面。