亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        HTML電子簽章控件關(guān)鍵技術(shù)研究與應(yīng)用

        2020-08-13 07:19:29黃洋郭立君張榮
        移動(dòng)通信 2020年7期
        關(guān)鍵詞:數(shù)字簽名

        黃洋 郭立君 張榮

        【摘? 要】如何保證電子文件的安全性是當(dāng)前電子政務(wù)辦公自動(dòng)化系統(tǒng)中面臨的重要問題。針對(duì)當(dāng)前多數(shù)HTML電子簽章相關(guān)產(chǎn)品保護(hù)內(nèi)容有限、簽章頁面無法本地保存和離線驗(yàn)證以及無法在Web頁面上完成定制化簽章驗(yàn)章等問題,提出了一種可靠性更高的HTML電子簽章控件的設(shè)計(jì)與實(shí)現(xiàn)方案。通過對(duì)Web頁面中重要信息預(yù)處理,有效地?cái)U(kuò)大了Web頁面內(nèi)容的保護(hù)范圍。將帶有HTML電子簽章對(duì)象的Web頁面轉(zhuǎn)換為包含簽章的PDF文件,實(shí)現(xiàn)了簽章頁面的本地保存和離線驗(yàn)證。控件基于SOAP協(xié)議建立了與服務(wù)器間的遠(yuǎn)程通信,結(jié)合數(shù)字簽名技術(shù)、ActiveX控件等技術(shù)在完成了HTML電子簽章對(duì)象構(gòu)造的同時(shí),也實(shí)現(xiàn)了Web頁面中可定制化的簽章與驗(yàn)章。

        【關(guān)鍵詞】電子簽章;Web頁面;數(shù)字簽名;ActiveX控件

        doi:10.3969/j.issn.1006-1010.2020.07.000? ? ? ? 中圖分類號(hào):TN92

        文獻(xiàn)標(biāo)志碼:A? ? ? ? 文章編號(hào):1006-1010(2020)07-0000-00

        引用格式:黃洋,郭立君,張榮. HTML電子簽章控件關(guān)鍵技術(shù)研究與應(yīng)用[J]. 移動(dòng)通信, 2020,44(7): 00-00.

        0? ?引言

        如今政府和企業(yè)中傳統(tǒng)辦公流程所導(dǎo)致的資源浪費(fèi)、線上與線下一體化服務(wù)效率低等問題越來越嚴(yán)重。隨著網(wǎng)絡(luò)基礎(chǔ)設(shè)施的不斷完善和信息技術(shù)的快速進(jìn)步,電子文檔在政府和企業(yè)公文流轉(zhuǎn)中扮演著越來越重要的角色。但是電子文檔的安全問題一直未得到有效解決,這也導(dǎo)致“無紙化”的辦公模式無法真正普及開來。雖然數(shù)字簽名可以有效解決電子文檔的安全問題,但這種技術(shù)對(duì)于數(shù)據(jù)交互雙方并不可見。在我國的傳統(tǒng)文化中,人們更傾向于在紙質(zhì)文件上蓋章。所以,單純地使用數(shù)字簽名技術(shù)不符合早已在我國根深蒂固的印章使用傳統(tǒng)。電子印章是將傳統(tǒng)的物理印章數(shù)字化于電子文件之上的印章表現(xiàn)形式,既能夠體現(xiàn)簽署者身份及其合法性的信息[1],又能夠達(dá)到與傳統(tǒng)物理印章同樣的可視化效果[2]。因此,研究結(jié)合電子印章與數(shù)字簽名技術(shù)的電子簽章技術(shù)對(duì)實(shí)現(xiàn)安全可靠的無紙化辦公具有重要意義。

        電子簽章主要利用圖像處理技術(shù)、加密解密技術(shù)以及數(shù)字簽名技術(shù)來保證電子文檔數(shù)據(jù)信息的完整性以及簽名信息的不可否認(rèn)性[3]。隨著《中華人民共和國電子簽名法》的頒布與實(shí)施,使得電子簽章有著與傳統(tǒng)物理印章同等的權(quán)威性以及法律效力[4]。同時(shí)電子簽章具有跨地域、跨時(shí)間、跨空間等特點(diǎn),促使電子簽章成為電子政務(wù)和電子商務(wù)的新風(fēng)向。

        在電子商務(wù)和電子政務(wù)中盛行的電子文檔大多數(shù)以Web頁面的形式呈現(xiàn)。Web頁面是由一系列標(biāo)簽組成的具有描述性功能的文檔。早期的靜態(tài)Web頁面存在內(nèi)容單一、結(jié)構(gòu)簡單、與用戶交互性差等問題,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,已經(jīng)無法滿足用戶需求。動(dòng)態(tài)頁面技術(shù)的出現(xiàn)很好地解決了這些問題,滿足了用戶的多樣性需求。區(qū)別于Word、Excel、PDF等格式的文件內(nèi)容固定、樣式單一,Web頁面內(nèi)容通過服務(wù)器端程序動(dòng)態(tài)生成。同時(shí),政府和企業(yè)自動(dòng)化辦公平臺(tái)中的各種稅務(wù)報(bào)表、通知公告、合同文件是以動(dòng)態(tài)Web頁面形式呈現(xiàn),因此研究面向Web頁面的電子簽章技術(shù)具有極大的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。

        國內(nèi)已有相關(guān)公司對(duì)HTML電子簽章產(chǎn)品進(jìn)行開發(fā),如江西金格網(wǎng)絡(luò)科技有限公司的iSignature HTML網(wǎng)頁簽章、重慶軟航科技有限公司的NTKO電子印章WEB版、南京優(yōu)泰科技有限公司的優(yōu)泰電子簽章系統(tǒng)、北京安證通信技術(shù)有限公司的云簽章平臺(tái)等[5]。在企業(yè)和政府辦公系統(tǒng)中以Web頁面呈現(xiàn)的公文或合同中包含著除表單元素外的固定內(nèi)容,如標(biāo)題、署名等,這些元素中的內(nèi)容同樣是電子文件的重要組成部分。而目前大多數(shù)HTML電子簽章產(chǎn)品的保護(hù)范圍僅包含固定且單一的表單元素,無法對(duì)Web頁面中除表單元素外的重要信息進(jìn)行保護(hù)。因此,本文對(duì)表單以及非表單元素信息進(jìn)行了預(yù)處理,進(jìn)而有針對(duì)性地對(duì)Web頁面中的表單以及非表單元素信息進(jìn)行簽名保護(hù)。

        同時(shí),大多數(shù)HTML電子簽章產(chǎn)品只支持在線驗(yàn)章,如果出現(xiàn)設(shè)備故障、網(wǎng)絡(luò)中斷等突發(fā)情況,將無法有效地驗(yàn)證簽名信息的合法性,這將會(huì)極大地限制簽章產(chǎn)品的使用場景。PDF版式文件具有良好的跨平臺(tái)性、優(yōu)質(zhì)的屏幕顯示效果、文件操作可追蹤等優(yōu)勢(shì)。因此,本文利用HTML電子簽章對(duì)象相關(guān)信息構(gòu)造出可嵌入PDF文件的PDF電子簽章對(duì)象,并將簽章后的Web頁面轉(zhuǎn)化為PDF格式的文件保存至本地實(shí)現(xiàn)了離線驗(yàn)證,從而有效地解決了這一問題。

        盡管目前大多數(shù)HTML電子簽章產(chǎn)品可以嵌入到第三方平臺(tái)中實(shí)現(xiàn)簽章驗(yàn)章,但是目前這些產(chǎn)品對(duì)于電子印章尺寸、格式限制嚴(yán)格,驗(yàn)章結(jié)果固定、形式單一,無法靈活地支持電子簽名與電子印章結(jié)合,以及個(gè)性化的驗(yàn)章結(jié)果。為了解決以上問題,本文基于控件技術(shù)并設(shè)置了服務(wù)器與控件之間的通信標(biāo)準(zhǔn),這樣既實(shí)現(xiàn)了安裝在客戶機(jī)的簽章控件與遠(yuǎn)端服務(wù)器之間的數(shù)據(jù)通信,也能夠通過服務(wù)器端對(duì)外開放的API來完成定制化的簽章功能,并最終通過對(duì)HTML電子簽章對(duì)象靈活構(gòu)造,實(shí)現(xiàn)了定制化簽章與驗(yàn)章效果。本文最終結(jié)合控件技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了可嵌入Web頁面的WebSignature電子簽章控件,有效地解決了當(dāng)前產(chǎn)品中存在的諸多問題。

        1? ?HTML電子簽章控件功能設(shè)計(jì)

        控件是指通過封裝數(shù)據(jù)和方法并可以產(chǎn)生或接收事件的程序?qū)嶓w。為了便于響應(yīng)用戶事件并與第三方系統(tǒng)集成,本文設(shè)計(jì)了面向Web頁面的WebSignature控件,實(shí)現(xiàn)了對(duì)核心功能的封裝,以達(dá)到與客戶端交互和與服務(wù)器端程序間通信及資源共享的目的[6]。

        本文結(jié)合現(xiàn)有HTML電子簽章產(chǎn)品存在的問題和當(dāng)前電子政務(wù)與電子商務(wù)的項(xiàng)目需求,設(shè)計(jì)了如圖1所示的主要接口。

        (1)校驗(yàn)用戶身份:在進(jìn)行蓋章操作前應(yīng)對(duì)用戶身份進(jìn)行驗(yàn)證,用戶需要提供正確的PIN碼,然后讀取用戶鑰匙盤USBKey中存儲(chǔ)的用戶私鑰和數(shù)字證書。驗(yàn)證成功后方可進(jìn)行蓋章操作。

        (2)添加簽章:該接口主要完成在Web頁面指定位置的蓋章操作。在蓋章前需要對(duì)頁面中重要信息項(xiàng)進(jìn)行預(yù)處理,構(gòu)造包含簽名信息、數(shù)字證書和印章圖片的HTML電子簽章對(duì)象,將電子簽章對(duì)象嵌入到Web頁面,實(shí)現(xiàn)在頁面任意位置的蓋章操作。

        (3)撤銷簽章:該接口用于撤銷未確認(rèn)的簽章。撤銷簽章之前對(duì)用戶USBKey的PIN碼進(jìn)行驗(yàn)證。如果用戶已進(jìn)行確認(rèn)簽章操作,簽章將變?yōu)椴豢沙蜂N狀態(tài),在此狀態(tài)下,用戶無法撤銷。

        (4)刪除簽章:該接口用于刪除頁面中所有未確認(rèn)的簽章。刪除簽章之前驗(yàn)證用戶PIN碼,確保是同一用戶所簽,否則無法刪除簽章。

        (5)驗(yàn)證簽章:完成信息完整性驗(yàn)證和簽名身份驗(yàn)證。在驗(yàn)證時(shí),對(duì)當(dāng)前Web頁面采用MD5數(shù)字摘要算法提取摘要后與簽章對(duì)象中原始摘要信息進(jìn)行對(duì)比。解析頁面中的簽章對(duì)象并讀取證書和用戶信息完成驗(yàn)證。驗(yàn)證結(jié)果會(huì)通過對(duì)話框的形式展示給用戶,驗(yàn)證內(nèi)容可以根據(jù)用戶需要進(jìn)行定制化設(shè)定。

        (6)查看簽章信息:用戶可以查看證書中包含的各項(xiàng)信息且無需進(jìn)行身份驗(yàn)證。

        (7)頁面本地保存:作為特色功能,本接口用于完成簽章頁面的本地保存以及離線驗(yàn)證功能。通過調(diào)用控件中文件本地保存以及文件轉(zhuǎn)化相關(guān)接口,可將簽章后的頁面以PDF格式保存至本機(jī),并調(diào)用PDF簽章控件接口完成本地離線驗(yàn)證操作。

        (8)加載文檔:該接口實(shí)現(xiàn)頁面數(shù)據(jù)和簽章信息的加載。服務(wù)器端對(duì)控件發(fā)送過來的指令命令“LOADFILE”進(jìn)行判斷,并連接服務(wù)器將對(duì)應(yīng)頁面數(shù)據(jù)以及簽章信息以加密的數(shù)據(jù)流形式傳遞給簽章控件。簽章控件從數(shù)據(jù)流中解析出頁面數(shù)據(jù)和簽章信息并顯示到網(wǎng)頁上,從而完成文檔的加載操作。

        (9)提交文檔:通過該接口能夠完成頁面數(shù)據(jù)和簽章信息在服務(wù)器端保存。服務(wù)器端對(duì)控件發(fā)送的指令內(nèi)容進(jìn)行判斷,如果指令內(nèi)容“SAVEFILE”,則將頁面數(shù)據(jù)以及簽章信息保存至數(shù)據(jù)庫。

        2? ?簽章控件關(guān)鍵技術(shù)解決方案

        針對(duì)目前大多數(shù)HTML電子簽章產(chǎn)品保護(hù)內(nèi)容非常有限、無法對(duì)簽章頁面本地保存和離線驗(yàn)證,以及無法定制化簽章與驗(yàn)章等問題,本節(jié)詳述了具體的解決方案,最終設(shè)計(jì)了一種可靠性更高、擴(kuò)展性更強(qiáng)的HTML電子簽章控件,并成功地將其部署到政府辦公自動(dòng)化系統(tǒng)中。

        2.1? 頁面中表單和非表單元素的預(yù)處理

        Web頁面能被瀏覽器自動(dòng)解析并且具有簡易性、可擴(kuò)展性和平臺(tái)無關(guān)性,同時(shí)也支持嵌入不同數(shù)據(jù)格式的文件,因此政府企業(yè)辦公自動(dòng)化系統(tǒng)中的公文或合同文件多采用Web頁面呈現(xiàn)。對(duì)以Web頁面呈現(xiàn)的公文或合同等文件中的重要內(nèi)容進(jìn)行簽名,從而保證文件內(nèi)容的完整性和簽名的不可否認(rèn)性是簽章控件的重要功能。

        目前大多數(shù)HTML電子簽章產(chǎn)品無法對(duì)Web頁面中除表單元素外的重要信息進(jìn)行簽名,而在企業(yè)和政府的合同文件中許多重要內(nèi)容是以非表單元素的形式展現(xiàn),如合同標(biāo)題、署名等。為解決上述問題,本文通過對(duì)控件類中的字段FieldIsProtect設(shè)置值完成保護(hù)區(qū)域自定義功能,并通過對(duì)Web頁面中結(jié)構(gòu)化的表單元素和非表單元素及其內(nèi)容進(jìn)行預(yù)處理,有效地?cái)U(kuò)大了Web頁面內(nèi)容的保護(hù)范圍。預(yù)處理過程如圖2所示。

        用戶在Web頁面完成保護(hù)區(qū)域的選擇,并將選擇結(jié)果以參數(shù)形式提交到控件接口完成對(duì)頁面的預(yù)處理操作,從而實(shí)現(xiàn)了頁面保護(hù)區(qū)域自定義的功能,同時(shí)也擴(kuò)大了頁面內(nèi)容的保護(hù)范圍。在預(yù)處理的過程中首先需要在控件中獲取到參數(shù),然后根據(jù)參數(shù)值對(duì)Web頁面內(nèi)的表單項(xiàng)以及非表單元素內(nèi)容進(jìn)行提取。在提取元素內(nèi)容時(shí)先對(duì)元素類型進(jìn)行組織,然后將組織好的字符串以方法參數(shù)的方式傳遞給控件接口,控件接口對(duì)獲取到的字符串進(jìn)行解析并根據(jù)id屬性提取元素內(nèi)容。

        為了獲取Web頁面中各種標(biāo)簽的內(nèi)容,本文采用基于COM(Component Object Model,即組件對(duì)象模型,是一種應(yīng)用程序接口開發(fā)的標(biāo)準(zhǔn))的解析庫MSHTML對(duì)網(wǎng)頁中重要信息進(jìn)行提取[7]。MSHTML組件由一系列對(duì)象和集合構(gòu)成,其中的Document對(duì)象包含一系列的屬性和方法用于操作網(wǎng)頁中的元素。

        在提取元素內(nèi)容時(shí)需要使用IHTMLDocument2類型的接口,該接口應(yīng)通過一段HTML字符串來生成相應(yīng)的IHTMLDocument2接口。提取元素內(nèi)容的過程如下:首先定義HTML字符串內(nèi)容,即獲取Web頁面中需要保護(hù)的元素內(nèi)容,由于Web頁面是服務(wù)器對(duì)客戶端請(qǐng)求的響應(yīng)內(nèi)容,因此獲得這個(gè)響應(yīng)的數(shù)據(jù)包即可獲取到對(duì)應(yīng)的HTML頁面字符串內(nèi)容數(shù)據(jù),進(jìn)而可以將Web頁面中的元素內(nèi)容封裝為IHTMLDocument2類型的接口,在控件通過接口中的get方法訪問元素內(nèi)容,進(jìn)而完成預(yù)處理過程。

        2.2? 簽章頁面的本地保存與離線驗(yàn)證

        目前大多數(shù)HTML電子簽章產(chǎn)品僅支持在線簽章與驗(yàn)證,當(dāng)出現(xiàn)網(wǎng)絡(luò)中斷或故障時(shí)將無法完成相關(guān)操作,這將極大地限制簽章產(chǎn)品的使用范圍。針對(duì)這一問題,本文提出一種將帶有HTML電子簽章對(duì)象的Web頁面轉(zhuǎn)換為PDF文件的本地保存方法,用戶不依賴于網(wǎng)絡(luò)便可將簽章頁面保存至本地并實(shí)現(xiàn)離線驗(yàn)證。

        可移植文檔格式(PDF, Portable Document Format)是一種版式文件的工業(yè)標(biāo)準(zhǔn)。PDF文件具有文件操作可追蹤,良好的跨平臺(tái)性,并且打印時(shí)可保證精確的顏色和準(zhǔn)確的打印效果等優(yōu)點(diǎn),以PDF作為標(biāo)準(zhǔn)的電子文件具有逼真的顯示效果,非常適合作為合同公文或其它重要文件的載體,因此本文將簽章頁面轉(zhuǎn)化為PDF文件進(jìn)行本地保存[8]。

        當(dāng)進(jìn)行簽章頁面本地保存時(shí),不僅需要提取Web頁面完整內(nèi)容進(jìn)行保存。為了實(shí)現(xiàn)最終的離線驗(yàn)證,還需要將簽章頁面中電子簽章相關(guān)的信息(數(shù)字證書、數(shù)字簽名、電子印章等信息)進(jìn)行保存,之后調(diào)用控件中的文件轉(zhuǎn)化接口,將簽章后的頁面轉(zhuǎn)化為PDF文件。完成轉(zhuǎn)化過程后,為了使用戶能夠在離線的情況下完成PDF文件的簽章驗(yàn)證,本文需要根據(jù)Web頁面中電子簽章相關(guān)的信息分別構(gòu)造PDF電子簽章對(duì)象中代表簽章外觀的AP項(xiàng)和代表數(shù)字簽名的V項(xiàng),最后整合成可嵌入PDF文件的PDF電子簽章對(duì)象。構(gòu)造的PDF電子簽章遵循PDF標(biāo)準(zhǔn),能在Adobe Reader等支持PDF標(biāo)準(zhǔn)的閱讀器中驗(yàn)證。為了能夠追蹤文件離線保存用戶的身份信息,本文使用USBKey中的私鑰對(duì)轉(zhuǎn)換后的PDF文件進(jìn)行加密,通過驗(yàn)證簽名信息可以識(shí)別離線文件保存者的身份,從而實(shí)現(xiàn)了用戶操作的可追蹤性。當(dāng)用戶在本地進(jìn)行驗(yàn)章操作時(shí),首先使用USBKey中的公鑰解密離線保存的PDF文件,然后通過支持PDF標(biāo)準(zhǔn)的閱讀器驗(yàn)證PDF文件中的電子簽章,即實(shí)現(xiàn)了Web頁面的離線驗(yàn)證。

        2.3? Web頁面定制化簽章與驗(yàn)章

        為了解決當(dāng)前HTML電子簽章產(chǎn)品無法靈活地支持電子簽名與電子印章結(jié)合,以及無法支持個(gè)性化的驗(yàn)章呈現(xiàn)結(jié)果等問題,本文提出了可定制化的簽章與驗(yàn)章的解決方案。可定制化簽章與驗(yàn)章是指支持靈活的電子簽章對(duì)象生成方式和個(gè)性化的驗(yàn)章結(jié)果呈現(xiàn)方式。其中,本文基于ActiveX控件技術(shù)、Web Service等技術(shù)實(shí)現(xiàn)了HTML電子簽章對(duì)象的靈活生成,進(jìn)而實(shí)現(xiàn)了定制化的簽章操作。同時(shí),通過Windows窗體等技術(shù),設(shè)計(jì)了個(gè)性化的Windows驗(yàn)章窗體,并采用MFC框架實(shí)現(xiàn)了對(duì)Windows對(duì)話框消息事件的響應(yīng),從而完成驗(yàn)證結(jié)果的定制化呈現(xiàn)。通過實(shí)現(xiàn)定制化簽章與驗(yàn)章能夠有效擴(kuò)展控件適用環(huán)境、更好地滿足用戶需求并且更充分的發(fā)揮電子簽章的優(yōu)勢(shì)。

        (1)HTML電子簽章控件的實(shí)現(xiàn)

        ActiveX是Microsoft提出的一組使用COM(部件對(duì)象模型)使得軟件部件在網(wǎng)絡(luò)環(huán)境中進(jìn)行交互的技術(shù)集[9]。作為ActiveX技術(shù)的一種,ActiveX控件是一種微型應(yīng)用程序,它可以獨(dú)立于服務(wù)器程序并輕松實(shí)現(xiàn)組件重用[10]。如何將簽章圖片顯示在Web頁面上并實(shí)現(xiàn)與用戶的交互是一個(gè)技術(shù)難題,由于Web頁面是ActiveX控件的容器,因此本文把簽章圖片依托控件顯示出來,再將控件嵌入到Web頁面中,當(dāng)用戶訪問Web頁面并對(duì)其進(jìn)行操作時(shí),頁面會(huì)自動(dòng)加載控件并運(yùn)行。這樣,客戶端只需調(diào)用控件接口即可完成簽章驗(yàn)章等操作,達(dá)到了與傳統(tǒng)物理印章同樣的可視化效果。無論底層硬件和系統(tǒng)軟件怎樣更新,維護(hù)時(shí)只需對(duì)控件升級(jí)更新,并保持控件對(duì)客戶端的接口定義不變,這就使得控件具有良好的可移植性與可擴(kuò)展性。

        在眾多的ActiveX控件開發(fā)方法中,由于使用微軟基礎(chǔ)類庫(MFC, Microsoft foundation class)開發(fā)ActiveX控件具有資源占用少、靈活性強(qiáng)、執(zhí)行效率高等特點(diǎn)[11],因此本文整合Web Service、PKI、JNI等技術(shù),采用MFC框架進(jìn)行ActiveX控件的開發(fā),通過將控件嵌入第三方Web平臺(tái),實(shí)現(xiàn)Web頁面定制化的簽章驗(yàn)章。

        (2)定制化簽章

        本文基于Web Service技術(shù)實(shí)現(xiàn)了服務(wù)器與控件之間的通信,通過調(diào)用服務(wù)器端獲取電子印章的遠(yuǎn)程接口獲得電子印章的定制方式,在控件中完成電子簽名與電子印章的結(jié)合,進(jìn)而實(shí)現(xiàn)了呈現(xiàn)方式為服務(wù)器端定制的電子印章的電子簽章對(duì)象,最終實(shí)現(xiàn)定制化簽章效果。

        Web Service技術(shù)采用基于XML的WSDL語言對(duì)服務(wù)細(xì)節(jié)進(jìn)行描述,并采用SOAP協(xié)議為網(wǎng)絡(luò)環(huán)境下的服務(wù)器端與控件的信息交互提供了簡單且輕量的通信機(jī)制,能夠?qū)φ{(diào)用者屏蔽實(shí)現(xiàn)細(xì)節(jié),有效地消除語言、平臺(tái)、協(xié)議和數(shù)據(jù)結(jié)構(gòu)的差異[12]。其中,服務(wù)器與控件間傳輸?shù)臄?shù)據(jù)都進(jìn)行了加密處理,保障了數(shù)據(jù)傳輸?shù)陌踩?。同時(shí),通過這種遠(yuǎn)程調(diào)用方式也實(shí)現(xiàn)了電子簽章管理業(yè)務(wù)與電子印章管理業(yè)務(wù)的分離,實(shí)現(xiàn)了電子印章的可定制化,也降低了后期HTML電子簽章產(chǎn)品的維護(hù)成本。

        當(dāng)控件與服務(wù)器間進(jìn)行SOAP通信時(shí),控件向服務(wù)器端發(fā)送XML格式的SOAP消息,該消息包含了需要執(zhí)行的具體操作以及相關(guān)數(shù)據(jù),服務(wù)器端接收到消息并完成處理后,向控件響應(yīng)一個(gè)XML格式的SOAP消息,此SOAP消息中就包含了簽章參數(shù)以及簽章數(shù)據(jù)流等信息。其中,SOAP消息中的“簽章參數(shù)”表示通過靈活的參數(shù)定義完成包括“印章類型”、“印章寬度”、“印章高度”、“印章標(biāo)題”、“印章顏色”、“印章字體類型”等參數(shù)的定義,通過這些參數(shù)可以在控件中靈活的生成不同種類的印章類型,如:財(cái)務(wù)專用章、合同專用章、發(fā)票專用章等。SOAP消息中的“簽章數(shù)據(jù)流”表示通過印章圖片文件流的方式自定義印章圖片。最終,控件根據(jù)服務(wù)器端定制的電子簽名與電子印章結(jié)合方式生成相應(yīng)的電子印章,進(jìn)而實(shí)現(xiàn)了定制化簽章呈現(xiàn)效果,具體的電子印章的定制化過程如圖3所示。

        對(duì)Web頁面進(jìn)行簽章操作前,需要通過預(yù)處理過程得到被保護(hù)的元素內(nèi)容,按照id屬性順序?qū)Ρ韱卧匾约胺潜韱卧剡M(jìn)行組織,并對(duì)組織好的內(nèi)容采用MD5算法提取數(shù)字摘要信息。

        為了使簽章過程具有更高的安全性與可靠性,首先需要保證任何簽章個(gè)體的數(shù)字證書都由可信賴的第三方權(quán)威機(jī)構(gòu)(CA, Certification Authority)簽發(fā)。CA是整個(gè)公鑰基礎(chǔ)設(shè)施(PKI, Public Key Infrastructure)的核心模塊,其作用是檢查證書持有者身份的合法性,并負(fù)責(zé)簽發(fā)和管理包含用戶信息、公鑰的數(shù)字證書。作為密鑰管理的媒介和公鑰的載體,數(shù)字證書將實(shí)體真實(shí)身份與證書中的公鑰綁定起來,解決了公鑰在不安全網(wǎng)絡(luò)環(huán)境中信任問題,從而保障了簽章過程中用戶身份的不可抵賴性。其次,本文使用USBKey作為數(shù)字證書、私鑰、簽章信息的安全容器。USBKey是一種內(nèi)置單片機(jī)或智能卡芯片的硬件設(shè)備[13],并結(jié)合PKI原理實(shí)現(xiàn)。其內(nèi)部的存儲(chǔ)空間可以存儲(chǔ)數(shù)字證書,密碼鎖用于保存用戶私鑰[14]。由于其設(shè)計(jì)的特殊性,用戶私鑰無法導(dǎo)出,并且整個(gè)簽名過程在USBKey中完成,因此相較于其它方式,如:計(jì)算機(jī)磁盤存儲(chǔ)和軟盤存儲(chǔ),使用USBKey作為存儲(chǔ)容器具有更高安全性。

        本文通過利用保存在USBKey的用戶私鑰對(duì)數(shù)字摘要信息進(jìn)行簽名,將得到的數(shù)字簽名結(jié)合電子印章、簽名信息以及簽署者信息生成HTML電子簽章對(duì)象。最終結(jié)合ActiveX控件技術(shù)、Web Service等技術(shù)實(shí)現(xiàn)了可定制化的HTML電子簽章對(duì)象的生成。Web文檔簽章過程圖4所示:

        簽章過程中的核心代碼如下:

        // 1.通過Web Service調(diào)用服務(wù)器端接口,得到服務(wù)器端返回?cái)?shù)據(jù),確定電子印章的定制化方式

        /*參數(shù)說明

        *BSTR signUrl:Web Services服務(wù)地址

        *BSTR method:Web Services服務(wù)方法名

        *BSTR orgName:公司機(jī)構(gòu)名稱

        *BSTR sealTypeId:印章類型

        *BSTR hardwareId:USBKey序列號(hào)

        */

        STDMETHODIMP CWebSig::SignWeb(BSTR signUrl, BSTR method, BSTR orgName, BSTR sealTypeId, BSTR hardwareId){

        ...

        /* judgeResult2方法返回值說明:

        *-2:返回結(jié)果錯(cuò)誤

        *-1: webservice連接失敗;

        *0:連接成功,簽章驗(yàn)證失敗,返回對(duì)應(yīng)的驗(yàn)證失敗信息

        *1:連接成功,簽章驗(yàn)證成功,返回結(jié)果是參數(shù)類型的簽章信息

        *2:連接成功,簽章驗(yàn)證成功,返回的結(jié)果是圖片類型的簽章信息*/

        int jg = judgeResult2(signUrl, orgName, sealTypeId, hardwareId, re, time);

        ...

        }

        // 2.捕獲鼠標(biāo)左鍵點(diǎn)擊事件,調(diào)用簽名函數(shù)進(jìn)行簽章

        /*參數(shù)說明

        *int x:簽章橫坐標(biāo)

        *int y:簽章縱坐標(biāo)*/

        static void OnMouseLeftButtonDown(WindowInfo *win, int x, int y, WPARAM key){

        ...

        //簽章處理

        if(Is_sig&&win->dm->cvtScreenToUser(&pageno, &x1, &y1)) {

        ...

        //以參數(shù)形式簽章

        if (Is_sig_parm){

        i = sign_parm( pic_p, data->data, data->len, datetime, x, y, rectW, rectH, page_num, filedata);

        }

        //以圖片流形式簽章

        else if (Is_sig_pic) {

        i = sign_pic(data->data, data->len, datetime, x, y, rectW, rectH, page_num, filedata);

        }

        ...

        }

        (3)定制化驗(yàn)章

        在進(jìn)行驗(yàn)章操作時(shí),首先執(zhí)行信息完整性驗(yàn)證,對(duì)控件中提取到的內(nèi)容采用MD5數(shù)字摘要算法提取摘要,并與簽章對(duì)象中原始摘要信息進(jìn)行對(duì)比完成信息完整性驗(yàn)證,從而保障了簽章過程中簽名信息的完整性。其次是簽名身份驗(yàn)證,解析頁面中的簽章對(duì)象并讀取證書和用戶信息,利用證書中攜帶的數(shù)字證書完成簽名身份驗(yàn)證。驗(yàn)章過程如圖5所示。

        為了使Web頁面中的電子印章能夠響應(yīng)用戶操作,需要在控件類中聲明一個(gè)AFX_MSGMAP_ENTRY類型數(shù)組verifyEntries[ ]作為消息映射表,然后在控件類中聲明并實(shí)現(xiàn)鼠標(biāo)消息的處理函數(shù)afx_msg void OnMouseButtonDown()響應(yīng)用戶區(qū)鼠標(biāo)點(diǎn)擊事件。為了呈現(xiàn)個(gè)性化驗(yàn)章內(nèi)容,需要在控件中通過CDialog類創(chuàng)建模態(tài)對(duì)話框并將驗(yàn)章結(jié)果填充到該對(duì)話框中,進(jìn)而實(shí)現(xiàn)個(gè)性化的驗(yàn)章結(jié)果。

        3? ?控件應(yīng)用實(shí)例

        本文基于輕量級(jí)SSM框架,開發(fā)了政府電子政務(wù)辦公自動(dòng)化系統(tǒng)。該系統(tǒng)主要由合同管理、簽章管理、人事管理、公告管理、事務(wù)安排、下載中心等模塊構(gòu)成。系統(tǒng)中與簽章相關(guān)的功能通過在JSP頁面中調(diào)用WebSignature簽章控件接口完成。WebSignature簽章控件采用MFC框架實(shí)現(xiàn),在Web頁面上簽章驗(yàn)章效果如圖6所示。

        本文最大可能地簡化了客戶端HTML電子簽章控件環(huán)境配置及注冊(cè)過程,將與控件相關(guān)的DLL動(dòng)態(tài)鏈接庫文件、JAR包和JVM虛擬機(jī)環(huán)境以及USBKey驅(qū)動(dòng)制作成一個(gè)安裝包,用戶直接運(yùn)行該安裝包即可完成控件的環(huán)境配置與注冊(cè)。另外,控件的升級(jí)過程也十分便捷,升級(jí)時(shí)只需在服務(wù)器端發(fā)布控件CAB文件,并更新控件的Version版本號(hào),用戶打開Web頁面時(shí)瀏覽器通過驗(yàn)證版本號(hào)進(jìn)而完成控件的自動(dòng)化升級(jí)。

        簽章前用戶需要連接USBKey,之后可通過瀏覽器訪問系統(tǒng),對(duì)合同中的表單內(nèi)容進(jìn)行編輯。編輯完成后點(diǎn)擊“加蓋印章”,系統(tǒng)對(duì)用戶USBKey口令進(jìn)行驗(yàn)證并調(diào)用控件的簽章接口完成簽章操作。控件在加密時(shí)采用USBKey中的私鑰對(duì)數(shù)字摘要信息進(jìn)行簽名,認(rèn)證時(shí)使用發(fā)送方數(shù)字證書包含的公鑰解密Web文檔數(shù)據(jù),即可驗(yàn)證文件數(shù)據(jù)的數(shù)字簽名,從而保證了文件內(nèi)容的完整性和簽名的不可否認(rèn)性。本文使用的公鑰和私鑰是一組非對(duì)稱秘鑰對(duì),加密和解密使用不同的密鑰,即使公鑰被竊取也無法破解加密Web文檔信息,因此安全性很高。

        用戶可通過點(diǎn)擊印章進(jìn)行信息完整性驗(yàn)證和簽名身份驗(yàn)證,系統(tǒng)會(huì)以對(duì)話框的形式呈現(xiàn)驗(yàn)證結(jié)果以及簽章日期、覆蓋范圍、數(shù)字證書等信息。一旦頁面內(nèi)容被篡改,簽章上會(huì)出現(xiàn)兩條交錯(cuò)的灰色線條提示用戶簽章已失效。

        本文將電子簽章中包含的文檔編號(hào)、簽章時(shí)間、加密信息摘要數(shù)據(jù)流、印章圖片數(shù)據(jù)流、數(shù)字證書數(shù)據(jù)流、簽章坐標(biāo)等信息持久化到數(shù)據(jù)庫中。當(dāng)再次加載簽章頁面時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫中存儲(chǔ)的Web頁面信息恢復(fù)整個(gè)Web頁面,簽章控件根據(jù)文檔編號(hào)自動(dòng)向服務(wù)器端請(qǐng)求對(duì)應(yīng)的簽章數(shù)據(jù)流,然后從中解析出HTML電子簽章對(duì)象并顯示到Web頁面上,從而完成了簽章頁面的加載。為了滿足用戶在離線情況下的驗(yàn)章需求,可將簽章頁面以PDF文件的形式保存至本地,用戶再次打開文件時(shí)可在本地支持PDF標(biāo)準(zhǔn)的閱讀器中便捷地完成驗(yàn)章操作。效果如圖7所示。

        4? ?結(jié)束語

        本文在深入研究各類電子簽章技術(shù)的基礎(chǔ)上,針對(duì)目前HTML電子簽章相關(guān)產(chǎn)品存在的問題,設(shè)計(jì)并實(shí)現(xiàn)了可靠性更高、擴(kuò)展性更強(qiáng)的面向Web頁面的電子簽章控件,并將其運(yùn)用于政府辦公自動(dòng)化系統(tǒng)中,取得了良好的效果。通過對(duì)Web頁面中重要信息元素及其內(nèi)容進(jìn)行預(yù)處理,有效地?cái)U(kuò)大了Web頁面信息保護(hù)范圍。本文將帶有HTML電子簽章對(duì)象的Web頁面轉(zhuǎn)換為包含簽章的PDF文件從而實(shí)現(xiàn)Web頁面的本地保存和離線驗(yàn)證??丶赑KI/CA體系,采用MFC控件開發(fā)框架,并綜合了USBKey、JNI、Web Service等技術(shù)完成HTML電子簽章對(duì)象的靈活構(gòu)造,進(jìn)而實(shí)現(xiàn)了可定制化的簽章,通過響應(yīng)Windows對(duì)話框消息事件實(shí)現(xiàn)了可定制化驗(yàn)章,在滿足了電子商務(wù)以及電子政務(wù)系統(tǒng)中簽名驗(yàn)證的基礎(chǔ)需求之上,提高了Web頁面關(guān)鍵信息在復(fù)雜傳輸環(huán)境中的安全性,擴(kuò)展了控件的應(yīng)用場景,具有更加廣泛的應(yīng)用前景。簽章室用于將多個(gè)簽章用戶添加到同一個(gè)聊天室中對(duì)合同或公文辦公。在后續(xù)工作中會(huì)引入簽章室將目前網(wǎng)頁雙方簽章應(yīng)用到多方簽章模式實(shí)現(xiàn)多方簽章。

        參考文獻(xiàn):

        [1]? ? K R, J V, S Z. An Approach towards Digital Signatures for e-Governance in India[C]//Electronic Governance and Open Society: Challenges in Eurasia (EGOSE 2015). 2015.

        [2]? ? ?X B Z , Y X U, L Z. Research on open identity authentication

        model for PKI[J]. Journal of National University of Defense Technology, 2013,35(1): 169-174.

        [3]? ? ?樊彥博. 基于PKI和數(shù)字水印的電子簽章系統(tǒng)的研究與實(shí)現(xiàn)[D]. 南京: 南京信息工程大學(xué), 2012.

        [4]? ? 李志玉. 基于電子簽章的電子合同系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 長沙: 湖南師范大學(xué), 2016.

        [5]? ? ?陳斌. 電子簽章的安全機(jī)制研究及應(yīng)用實(shí)踐[D]. 上海:

        上海交通大學(xué), 2013.

        [6]? ? ?郭洋. 基于數(shù)字證書的電子簽章系統(tǒng)在電子政務(wù)中的應(yīng)用研究[D]. 上海: 華東理工大學(xué), 2011.

        [7]? ? 李靜,韓建民,郭騰芳. 集成電子簽章功能的公文流轉(zhuǎn)系統(tǒng)的實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2011,21(12): 152-154.

        [8]? ? 孫冀川. 面向PDF的電子簽章應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)

        現(xiàn)[D]. 石家莊: 河北師范大學(xué), 2014.

        [9]? ? 曲松. 基于WEB的電子簽章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 上海: 華東師范大學(xué).

        [10]? ?張沈斌,陳浩. 一種基于數(shù)字簽名與數(shù)字水印認(rèn)證的電子簽章系統(tǒng)[J]. 蘇州大學(xué)學(xué)報(bào): 自然科學(xué)版, 2011, 27(2): 23-28.

        [11]? 任哲. MFC WINDOWS應(yīng)用程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社, 2013: 12-16.

        [12]? ?賈俊輝,曹斌. 基于Webservice的異地電子簽章數(shù)據(jù)同步的研究[J]. 貴州大學(xué)學(xué)報(bào): 自然版, 2013,30(6): 100-103.

        [13]? ?譚杰. 基于 PKI/CA體系的電子簽章系統(tǒng)研究與實(shí)現(xiàn)[D]. 南昌: 南昌大學(xué), 2013.

        [14]? 王雄,婁嘉鵬,龐巖梅. 多用戶電子簽章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012,33(5): 1767-1771.

        作者簡介

        黃洋(orcid.org/0000-0001-9735-3344):寧波大學(xué)在讀碩士研究生,研究方向?yàn)樾畔踩⒂?jì)算機(jī)視覺與模式識(shí)別。

        郭立君:教授,研究生導(dǎo)師,現(xiàn)任職于寧波大學(xué),研究方向?yàn)橛?jì)算機(jī)視覺與模式識(shí)別、移動(dòng)互聯(lián)網(wǎng)及其應(yīng)用。

        張榮:副教授,研究生導(dǎo)師,現(xiàn)任職于寧波大學(xué),研究方向?yàn)閿?shù)字取證、信息安全。

        浙江省自然科學(xué)基金項(xiàng)目(LY17F030002);浙江省公益技術(shù)研究計(jì)劃項(xiàng)目(LGF18F020007)

        通信作者

        收稿日期:2019-10-29

        猜你喜歡
        數(shù)字簽名
        基于正交拉丁方理論的數(shù)字簽名分組批量驗(yàn)證
        交通運(yùn)輸行業(yè)數(shù)字簽名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析
        淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
        數(shù)字簽名助力系統(tǒng)安全
        基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
        數(shù)字簽名簡述
        掌握方法用好數(shù)字簽名
        基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測機(jī)制
        基于JAVA的數(shù)字簽名設(shè)計(jì)與實(shí)現(xiàn)
        復(fù)制數(shù)字簽名,巧妙偽裝病毒
        一区二区三区内射美女毛片| av蜜桃视频在线观看| av天堂中文亚洲官网| 99精品国产在热久久无毒不卡| 色多多a级毛片免费看| 亚洲 成人 无码 在线观看| 国产精品三级1区2区3区| 白浆国产精品一区二区| 免费无码又黄又爽又刺激| 亚洲欲色欲香天天综合网| 在线亚洲午夜理论av大片| 人妻AV无码一区二区三区奥田咲| 日本骚色老妇视频网站| 国产一区二区三区在线观看黄| 欧美xxxxx高潮喷水麻豆| 亚洲日韩成人av无码网站| 国产成人国产在线观看| 久久夜色精品国产三级| 伊人久久大香线蕉av不变影院| 成人免费一区二区三区| 亚洲a级片在线观看| 视频网站在线观看不卡| 国产激情自拍在线视频| 中文无码精品a∨在线观看不卡| 宅男噜噜噜| 国内人妖一区二区在线播放| 国内精品免费一区二区三区 | 老外和中国女人毛片免费视频| 久久亚洲伊人| 日本在线观看三级视频| 精品国品一二三产品区别在线观看 | 中文字日产幕码三区的做法大全 | 激情视频在线观看国产中文| 偷拍夫妻视频一区二区| 特级av毛片免费观看| 91精品国产免费青青碰在线观看 | 在线看亚洲十八禁网站 | 一级一片内射视频网址| 99国产精品自在自在久久| 国产精品麻豆欧美日韩ww| 欧美精品高清在线xxxx|