asp.net 電子簽章是怎么做的?怎么防偽的?
時間:2024-01-27 01:20:01 | 來源:網(wǎng)站運營
時間:2024-01-27 01:20:01 來源:網(wǎng)站運營
asp.net 電子簽章是怎么做的?怎么防偽的?:電子簽章(Electronic Signature)、數(shù)字簽章(Digital Signature)、加密簽名、公鑰私鑰、非對稱加密、哈希加密、C#、MD5
摘要:
電子簽章(Electronic Signature)泛指所有以電子形式存在,依附在電子文件并與其邏輯相關(guān),可用以辨識電子文件簽署者身份,保證文件的完整性,并表示簽署者同意電子文件所陳述事項的內(nèi)容。包括數(shù)字簽章技術(shù)和逐漸普及的用于身份驗證的生物識別技術(shù)如指紋、面紋、DNA技術(shù)等。本文從OA系統(tǒng)項目中數(shù)字簽章技術(shù)的設(shè)計來講述如何使用微軟公司的編程平臺
http://Vs.Net中的C#語言來實現(xiàn)數(shù)字簽章技術(shù)。
正文:
1、所謂電子簽章就是用于電子文件之上,與傳統(tǒng)的手寫簽名、蓋章具有完全相同功能的技術(shù)。有了電子簽章,任何信息都可以放心地通過網(wǎng)絡(luò)以電子文件的形式傳輸,因此,電子簽章問題是電子商務(wù)和電子政務(wù)建設(shè)中必須首先解決的核心問題。
2、傳統(tǒng)的交易行為和政府間的公文傳送,必須要用書面的文件來完成,為了保證文件是某個當(dāng)事人或者機關(guān)簽發(fā)的,并且文件沒有被篡改,還必須要有簽發(fā)人的手寫簽字或者公章。電子文件并非只用于合同的簽訂和政府文件的傳遞,而是適用于所有信息的傳遞??梢岳硐牖卣J(rèn)為,未來的信息傳遞,可以不借助于任何紙張。
3、 實例
目前最成熟的電子簽章技術(shù)就是“數(shù)字簽章(Digital Signature)”,它是以公鑰及私鑰的“非對稱型”密碼技術(shù)制作的電子簽章。使用原理大致為:由計算機程序?qū)⒚荑€和需傳送的文件濃縮成信息摘要予以運算,得出數(shù)字簽章,將數(shù)字簽章并同原交易信息傳送給對方,后者可用公鑰來驗證該信息確實由前者傳送、并可查驗文件在傳送過程是否遭他人篡改,并防止對方抵賴。由于數(shù)字簽章技術(shù)采用的是單向不可逆運算方式,要想對其破解,以目前的計算機速度以及技術(shù)而言,幾乎是不可能的。文件傳輸可選擇明文或密文進(jìn)行傳輸。因此,從某種意義上講,使用電子文件和數(shù)字簽章,甚至比使用經(jīng)過簽字蓋章的書面文件安全得多。
設(shè)計之初,我就先提出了需要解決的幾個問題:
如何保證電子文件在傳輸過程中不被篡改?
如何保證電子文件合法性及不可抵賴?
一般來說要保證電子文件在傳輸過程中不被篡改,一是對電子文件進(jìn)行私鑰加密。在傳輸方使用私鑰對電子文件進(jìn)行明文加密,接收方再用私鑰對傳輸過來的密文進(jìn)行解密,以此來達(dá)到電子文件不被篡改。但此方法需要傳輸方與接收方都擁有私鑰而且出現(xiàn)問題后雙方都可能指責(zé)對方將私鑰解密,因此單純使用此方法,一般都只用于安全性要求不高的應(yīng)用,不值得推薦。二是傳輸方對電子文件創(chuàng)建哈希,將電子文件與哈希一同發(fā)給接收方,接收方對接受到的電子文件也創(chuàng)建哈希,然后對比哈希值,以此來達(dá)到電子文件不被篡改。這是本人所選用的方案。下面是根據(jù)本人電子簽章設(shè)計所寫的一個DEMO片段,以供參考。
以下是對電子文件創(chuàng)建哈希的具本實現(xiàn)(使用了MD5加密):
一、產(chǎn)品概述云合同電子合同(yunhetong.com?)產(chǎn)品 API4.0 是云合同平臺推出的最新的電子合同服務(wù)對接解決方案。云合同是一家第三方電子合同服務(wù)平臺,圍繞電子合同生態(tài)鏈:證書申請、合同生成、合同流轉(zhuǎn)、合同簽署、合同存證、滿足監(jiān)管為核心建立起的產(chǎn)品線,為廣大用戶提供一站式安全、有效、便捷、優(yōu)質(zhì)的電子合同服務(wù)。
云合同 API 囊括證書模塊、用戶模塊、印章模塊、合同模塊等四大核心基礎(chǔ)功能模塊,以接口集成+頁面集成兩種方式為開發(fā)者提供應(yīng)用間完美的解決方案,云合同
API4.0 將電子合同服務(wù)內(nèi)嵌至開發(fā)者的后臺系統(tǒng)中,從而在業(yè)務(wù)平臺上實現(xiàn)電子合同功能。
集成云合同 API4.0 后的應(yīng)用可享受由云合同提供的第三方電子簽名、電子合同服務(wù),用戶無需下載、注冊、實名認(rèn)證多個應(yīng)用,并與原有業(yè)務(wù)流程完美契合。接入云合同電子合同服務(wù),有助于合同的簽署與管理,降低成本,提高競爭力。
二、產(chǎn)品功能云合同 API 共包括四大模塊的核心功能,分別是證書模塊、用戶模塊、印章模塊和合同模塊。
1、證書模塊API4.0 基于行業(yè)對于電子簽名數(shù)據(jù)固化的通用做法,提供了用 CA 證書固化電子簽名數(shù)據(jù)的方式,同時提供了多 CA 通道,支持平臺方根據(jù)業(yè)務(wù)場景選擇對應(yīng)的 CA 通
道、以及證書的類型,證書根據(jù)使用時間長短分為長效證書、場景證書。
2、用戶模塊用戶注冊:云合同 API 同步平臺應(yīng)用用戶體系,確保用戶一一對應(yīng),同時備份用戶實名信息,確認(rèn)用戶主體身份,并為對應(yīng)用戶申請 CA 證書。
信息修改:當(dāng)用戶信息發(fā)生變更時,云合同支持用戶基礎(chǔ)信息的修改,并自動更新證書信息。
3、印章模塊模版印章:云合同 API 提供根據(jù)用戶姓名,自動生成印章。
自定義印章:云合同 API 提供自定義印章功能,平臺方可自定義印章樣式并上傳使用。同時,用戶可通過云合同提供的手繪頁面實現(xiàn)在 PC 端、移動端采集用戶手寫簽名,所有簽名數(shù)據(jù)由云合同存儲并為安全負(fù)責(zé)。
個人模版印章支持樣式:企業(yè)模版印章支持樣式:合同生成:云合同 API 支持兩種合同生成方式,即“根據(jù)模版生成合同”和
“上傳文件生成合同”。平臺只需將合同關(guān)鍵信息以數(shù)據(jù)形式傳輸給云合同, 云合同會調(diào)用約定好的模板生成合同并返回供用戶查看。
合同簽署:云合同 API 支持兩種合同簽署方式,即“合同簽署”和“頁面簽署”。平臺用戶可選擇主動簽署,亦可將簽署權(quán)限授權(quán)給云合同,由云合同代為完成,云合同 API 將自動調(diào)用簽署者的簽名并完成合同簽署。
合同查看:云合同 API 支持用戶在線查看合同。
合同模板:平臺可以自己上傳相應(yīng)的合同模板。方便快捷高效的創(chuàng)建合同。
合同下載:平臺可以下載帶簽名的 pdf 文件保存流轉(zhuǎn)。
三、項目對接整體流程圖1、對接流程項目對接整體流程如下圖所示。平臺應(yīng)用在上線前需聯(lián)系對應(yīng)技術(shù)支持人員進(jìn)行
“應(yīng)用清庫”操作。
1) 注冊云合同賬號:平臺方需登錄云合同官網(wǎng)(
https://www.yunhetong.com),注冊一個企業(yè)賬號并完成實名認(rèn)證后,聯(lián)系對接人員協(xié)助進(jìn)行開戶。
2) 創(chuàng)建平臺應(yīng)用:開發(fā)者可登錄云合同開放平臺(
http://open.yunhetong.com/)創(chuàng)建應(yīng)用
(測試階段請創(chuàng)建測試應(yīng)用,項目正式請創(chuàng)建正式應(yīng)用),并記錄應(yīng)用信息, 為后續(xù)對接工作開展做好準(zhǔn)備工作。
3) 獲取對接資料:云合同現(xiàn)階段以 API 對接的方式,向平臺提供的電子合同功能。具體接口內(nèi)容,請查看本指南“第五章 API 接口文檔”。
4) 梳理電子合同業(yè)務(wù)流程:開發(fā)者在閱讀完《云合同 API 接口文檔》之后,根據(jù)接口邏輯,梳理平臺現(xiàn)有業(yè)務(wù)流程,并在業(yè)務(wù)關(guān)鍵節(jié)點接入對應(yīng)接口,即可在現(xiàn)有業(yè)務(wù)流程上實現(xiàn)電子合同功能,可參考“第四章 接口調(diào)用流程“。
5) 接口對接:在此步正式開展對接工作。如在對接中遇到問題,可以聯(lián)系技術(shù)對接人員協(xié)助解決。
6) 準(zhǔn)備上線:項目在上線前,需聯(lián)系對接人員進(jìn)行項目上線確認(rèn)。此時,對接人員會協(xié)助進(jìn)行“應(yīng)用清庫”操作,并清理應(yīng)用中的測試數(shù)據(jù)(包括測試用戶數(shù)據(jù)以及測試合同數(shù)據(jù))。
7) 應(yīng)用上線:應(yīng)用正式上線。
2、官網(wǎng)注冊流程四、接口調(diào)用流程以下展示幾個典型應(yīng)用場景的接口調(diào)用流程,各項業(yè)務(wù)服務(wù)可靈活調(diào)用,具體接口調(diào)用以貴平臺的業(yè)務(wù)設(shè)計為主。
1、接口調(diào)用流程——基礎(chǔ)場景2、接口調(diào)用流程——合同存證場景3、接口調(diào)用流程——頁面簽署場景
4、接口調(diào)用流程——接口意愿認(rèn)證場景5、小結(jié)圖中序號為標(biāo)準(zhǔn)電子合同業(yè)務(wù)操作流程,灰色框為云合同提供的 API 服務(wù)。整個電子合同業(yè)務(wù)流程分為兩個階段:初始化階段、合同簽署階段。用戶僅在第一次使用平臺電子合同服務(wù)時需做一次初始化,后續(xù)可以直接從合同簽署階段開始業(yè)務(wù)。
關(guān)鍵流程節(jié)點說明如下:
1) 配置合同模版:平臺需預(yù)先登錄云合同開放平臺,并在應(yīng)用里上傳合同模版,同時配置好“簽名占位符”(即簽署位置)。
2) 實名認(rèn)證:云合同 API 服務(wù)完全信任平臺對平臺用戶的實名認(rèn)證結(jié)果,在平臺用戶完成實名認(rèn)證后,可為對應(yīng)平臺用戶申請 CA 證書。同時,云合同可單獨提供實名認(rèn)證增值服務(wù)。
3) 生成待簽署合同:在確認(rèn)所有簽署者身份后,平臺方可調(diào)用“根據(jù)模版生成合同”或“上傳文件生成合同”接口生成待簽署合同,并調(diào)用“添加參與者”接口為該合同添加簽署者并約定簽署位置、是否采用意愿認(rèn)證。
4) 簽署合同:即可在合同上加蓋平臺的印章,云合同提供“頁面簽署”和“合同簽署”兩種簽署方式。
5) 查看合同:在線查看合同,平臺可調(diào)用“合同查看”js 方法獲取合同的查看 url, 也可以調(diào)用“合同下載”接口,自己制作合同查看頁面。