国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux平臺的面向PDF的電子印章系統(tǒng)

2019-07-16 03:14:59姚銘業(yè)王華彬張瑞霞
電腦知識與技術(shù) 2019年15期
關(guān)鍵詞:數(shù)字證書

姚銘業(yè) 王華彬 張瑞霞

摘要:該系統(tǒng)設(shè)計實現(xiàn)了一個面向PDF文檔的電子印章系統(tǒng),在本系統(tǒng)中,數(shù)字證書與電子印章進(jìn)行關(guān)聯(lián)來保證電子印章的有效性與安全性。主要關(guān)聯(lián)方式為把數(shù)字證書認(rèn)為是電子印章的一部分。通過數(shù)字證書來認(rèn)證蓋章人的身份,并通過電子印章中的信息摘要來驗證PDF文檔的完整性。經(jīng)過在Linux系統(tǒng)平臺的測試,實現(xiàn)了電子印章的制作、蓋章、撤章、以及驗證等功能。

關(guān)鍵詞:PDF;電子印章;數(shù)字證書;Linux

中圖分類號:TP311 ? ? ? ?文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)15-0124-03

1 背景

我國于2005年4月1日正式實施《電子簽名法》,對電子印章進(jìn)行了詳細(xì)的定義。電子印章是電子形式的數(shù)據(jù),是用來識別簽名人的身份和表明簽名人認(rèn)可該數(shù)據(jù)電文內(nèi)容的數(shù)據(jù)。與物理印章不同的是,電子印章還具有防篡改、安全、保密等特性[1]。PDF文檔遵守PDF格式的文件,所以PDF文檔與平臺無關(guān),傳統(tǒng)的印章主要用于對文檔進(jìn)行身份的驗證,傳統(tǒng)印章經(jīng)過幾千年的發(fā)展已經(jīng)有了一套非常完善的印章真?zhèn)悟炞C體系。如今,計算機慢慢融入人們的生活,政府機關(guān)和社會上不可避免地開始使用電子文檔作為主要信息傳輸媒介。而電子文檔的安全驗證就成了不可避免的問題。傳統(tǒng)印章無法在電子文檔上蓋章,這一現(xiàn)狀限制了電子文檔的發(fā)展。而PDF文檔能夠很好地解決這一問題,也就是說無論是Windows平臺,Linux還是Android。所有平臺上的PDF文檔格式都相同,解析器只需要按照PDF的渲染格式來渲染PDF就好,也就是說無論什么平臺上的PDF文檔所看到的結(jié)果都一樣[2]。

2 系統(tǒng)的總體設(shè)計

系統(tǒng)的整體模塊層次圖,如圖1所示。

PDF文檔操作模塊的接口主要3種,分別是PDF文檔的打開和關(guān)閉、PDF文檔頁面的縮放和PDF文檔頁面跳轉(zhuǎn)。PDF印章操作模塊有4種,分別是制作電子印章、蓋章、驗證印章和撤章。

3 系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)

3.1 PDF文檔操作模塊

1)設(shè)計

用于對PDF文檔進(jìn)行基本操作,主要包括打開文件、關(guān)閉文件、對文件頁面進(jìn)行調(diào)整、定位頁碼、保存文檔。對這些基本操作進(jìn)行設(shè)計,包括時序圖和協(xié)作圖?;谄?,本節(jié)主要給出打開文件時序圖和打開文件協(xié)作圖,分別如圖2和圖3所示。

2)實現(xiàn)

基于開源庫Poppler實現(xiàn)對PDF文檔的加載和提取圖片映射,使得pdf文檔能與圖片的形式顯示。在打開文檔的同時,新建一個線程用于文件目錄的加載。將已讀的頁面進(jìn)行緩存,可減少對重復(fù)頁面的加載,在進(jìn)行頁面跳轉(zhuǎn)的時候首先檢查是否有頁面圖片已緩存,若已有緩存則從中進(jìn)行加載顯示,若沒有則調(diào)用Poppler庫的類和方法進(jìn)行加載。頁面的縮放功能則是通過設(shè)置圖片大小重新在顯示界面進(jìn)行顯示。文檔的保存是通過Poppler庫進(jìn)行文檔備份的創(chuàng)建,然后將備份輸出到指定文件目錄下。

3.2 電子印章操作模塊

電子印章操作模塊主要通過CA證書來管理電子印章。利用CA證書來確保用戶信息的有效性。將電子印章與PDF文檔的信息摘要組織成電子簽章。信息摘要以及用戶密碼利用哈希算法來獲取,可以保證用戶密碼以及信息摘要不被破解,保證了電子印章的有效性以及PDF文檔的完整性。電子印章的有效性以及安全性同時通過RSA算法來保證。將電子印章的基本信息利用RSA算法加密,在對證書信息使用私鑰加密后必須要對應(yīng)的公鑰來解密。驗證者不需要知道電子印章的公鑰具體信息,從而保證了電子印章的安全性。

通過對PDF文檔的分析,知道其是通過交叉引用表實現(xiàn)對文檔間接對象的查找和讀取,通過增量更新來實現(xiàn)對文檔的修改。根據(jù)這兩點,我們決定通過交叉引用表和文件尾獲取到PDF文件的目錄結(jié)構(gòu),通過獲取到的目錄和交叉引用表的結(jié)合獲取要蓋章頁面的間接對象。然后通過重寫頁面間接對象的Contents屬性和/XObject屬性,將原Contents中的間接對象取出,用自己新建的間接對象代替,該間接對象用于存放原內(nèi)容間接對象和新增的印章間接對象。在/XObject的字典中添加一項/Seal屬性用于引用印章圖片的間接對象,構(gòu)造完這些間接對象后寫一個增量更新的交叉引用表用于給PDF閱讀器正常讀取文件;之后在文件尾的%%EOF后另起一行寫入印章的信息。由于印章信息并沒有設(shè)置任何間接對向,不會對PDF文檔本身造成影響,只要修改文件尾的文件總長度包含證書信息即可。

對于撤章功能則采用增量更新的方式實現(xiàn),這樣可以保證隨意撤除任意印章,為了能修改印章的是否可讀取編號,采用將文檔信息和已有印章信息讀取出來,修改后重新寫會去,這也確保了蓋章后的印章不能用增量更新的方式修改,如果用增量更新的方式修改,在撤章的時候就會被抹掉。

PDF印章各個操作模塊設(shè)計采用時序圖和關(guān)系圖,圖4和圖5分別給出了制作電子印章的時序圖和關(guān)系圖。

4 系統(tǒng)測試

進(jìn)入軟件后用戶點擊打開文件按鈕即可選擇PDF文件所在位置,蓋章成功后的主界面,如圖6所示。驗證印章如圖7所示。

5 總結(jié)

本系統(tǒng)使得Linux系統(tǒng)也有了相應(yīng)的PDF文檔的電子印章制作及應(yīng)用系統(tǒng),但同時由于印章的寫入方法,與Adobe公司的規(guī)范不同,使用其他公司的PDF閱讀器只能看到印章,而不能對印章進(jìn)行任何操作,只有使用本軟件才能對印章進(jìn)行驗證和撤除。開發(fā)軟件的進(jìn)階版即區(qū)塊鏈版本,蓋章的記錄都是公眾可以查詢到的,也確保其公開透明,容易獲得公眾的認(rèn)可。

參考文獻(xiàn):

[1] 國務(wù)院.《電子簽名法》工業(yè)和信息化部[EB/OL] .(2015-08-31)[2018-11-25]http://www.miit.gov.cn/n1146285/n1146352/n3054355/n3057254/n3057259/c3868973/content.html.

[2] 國際化標(biāo)準(zhǔn)組織. PDF format become ISO standard[EB/OL].(2010-01-01)[2018-11-25]. https://www.iso.org/news/2008/07/Ref1141.html.

【通聯(lián)編輯:代影】

猜你喜歡
數(shù)字證書
國家發(fā)改委:推動礦業(yè)權(quán)出讓應(yīng)用網(wǎng)絡(luò)共享數(shù)字證書
當(dāng)心黑客利用數(shù)字證書的漏洞
基于數(shù)字證書的軍事信息系統(tǒng)安全防護(hù)方案
以數(shù)字證書為核心的信息安全技術(shù)之研究
管理好系統(tǒng)中的數(shù)字證書
電腦迷(2015年7期)2015-05-30 04:50:35
吉林省支付清算系統(tǒng)參與者數(shù)字證書使用現(xiàn)狀調(diào)查與現(xiàn)存問題分析及建議
湄潭县| 理塘县| 饶阳县| 宜兴市| 无锡市| 旬邑县| 昌乐县| 舟曲县| 夏津县| 敦煌市| 呼玛县| 凤山县| 屏边| 博客| 南投市| 朝阳县| 平阳县| 宜黄县| 正阳县| 新密市| 凌海市| 武义县| 北票市| 鄯善县| 丁青县| 樟树市| 称多县| 内江市| 东台市| 万全县| 芦山县| 绍兴县| 德钦县| 万安县| 措美县| 汪清县| 定陶县| 资阳市| 德昌县| 宁远县| 浠水县|