对pdf文档进行国密电子签章处理的方法和装置的制造方法

文档序号:8445823阅读:2013来源:国知局
对pdf文档进行国密电子签章处理的方法和装置的制造方法
【技术领域】
[0001 ] 本发明涉及电子签章技术领域,尤其涉及一种对PDF文档进行国密电子签章处理的方法和装置。
【背景技术】
[0002]随着技术的发展,越来越多的企事业单位及国家机关逐渐采取了电子化办公,极大的提高了工作效率。随之而来的便是电子办公所带来的安全性问题,由于电子文档易被拷贝或篡改,所签发的电子文档是否被修改,是否签发人所签发等问题随之而来。电子签章产品的出现解决了上述问题,为电子文档的安全需求提供了技术依据。
[0003]PDF文档格式作为一种广泛使用的国际标准格式,支持电子签章应用具有非常重要的意义。现有PDF文档标准中支持电子签名的技术,根据该技术,国内不少厂商使用图片与电子签章相结合,推出了 TOF电子签章产品。
[0004]上述PDF文档标准中支持电子签名的技术与国密局制定的电子签章标准不符合,仅对文档做了电子签名,缺乏电子印章的概念,以及不规范的盖章、验章的流程,并且不支持国密SM2算法等等,仅为电子签名的一种应用,并不能代表作为符合国密标准的电子签章产品。因此,如何能够在文档格式中无缝的支持具有中国特色的国密电子签章标准,在使用现有的PDF文档标准之上,能够支持国密电子签章标准,是一个亟待解决的问题。

【发明内容】

[0005]本发明的实施例提供了一种对PDF文档进行国密电子签章处理的方法和装置,以使得在使用现有的PDF文档标准之上,能够支持国密电子签章标准。
[0006]本发明提供了如下方案:
[0007]一种对PDF文档进行国密电子签章处理的方法,包括:
[0008]选择电子印章,根据所述电子印章构造符合PDF标准的签名字典结构,将所述签名字典结构填充到PDF文档中;
[0009]根据所述电子印章和所述填充了签名字典结构的PDF文档的原文数据构造符合PDF标准的包含电子签名的P7数据,将所述P7数据填充到所述签名字典结构中;
[0010]提取所述填充了 P7数据的PDF文档的原文数据,使用所述电子印章对所述填充了P7数据的PDF文档的原文数据进行盖章,生成国密电子签章数据,将所述国密电子签章数据填充到所述签名字典结构中,得到包含国密电子签章数据的PDF文档。
[0011]所述的选择电子印章,根据所述电子印章构造符合PDF标准的签名字典结构,将所述签名字典结构填充到PDF文档中,包括:
[0012]选择要使用的电子印章,从所述电子印章中提取印模、用户公钥证书,根据所述电子印章计算出国密电子签章数据长度,并预算出签名字典结构中存放P7数据的内容CONTENT字段的设定长度;
[0013]构造符合PDF标准中的包含证书字段、图片字段和CONTENT字段的签名字典结构,该签名字典结构中的证书字段中填充所述用户公钥证书,图片字段中填充所述印模,CONTENT字段的长度为所述设定长度,所述CONTENT字段内容的全部填充为O ;
[0014]解析PDF文档,并将所述签名字典结构填充到所述PDF文档中。
[0015]所述的根据所述电子印章和所述填充了签名字典结构的PDF文档的原文数据构造符合PDF标准的包含电子签名的P7数据,将所述P7数据填充到所述签名字典结构中,包括:
[0016]对所述填充了签名字典结构的PDF文档进行二进制编码后得到二进制数据,将该二进制数据作为填充了签名字典结构的PDF文档的原文数据;
[0017]构造包含用户证书字段、签名字段和原文字段的符合PDF标准的P7数据,在所述用户证书字段中填充所述用户公钥证书,在所述签名字段中填充使用电子印章所对应的用户私钥对所述填充了签名字典结构的PDF文档的原文数据进行签名后的数据,在所述原文字段中填充0,所述原文字段的长度为所述计算出的国密电子签章数据长度;
[0018]将所述P7数据填充到所述PDF文档中的签名字典结构中的CONTENT字段中。
[0019]所述的提取所述填充了 P7数据的PDF文档的原文数据,使用所述电子印章对所述填充了 P7数据的PDF文档的原文数据进行盖章,生成国密电子签章数据,将所述国密电子签章数据填充到所述签名字典结构中,得到包含国密电子签章数据的PDF文档,包括:
[0020]对所述填充了 P7数据的PDF文档进行二进制编码后得到二进制数据,将该二进制数据作为填充了 P7数据的PDF文档的原文数据。
[0021]基于国密接口用所述电子印章对所述填充了 P7数据的PDF文档的原文数据进行盖章处理,生成国密电子签章数据;
[0022]将所述国密电子签章数据填充到所述PDF文档中的签名字典结构中的P7数据中的原文字段中,得到包含国密电子签章数据的PDF文档。
[0023]所述的方法还包括:
[0024]解析所述包含国密电子签章数据的PDF文档,查找到所述PDF文档中的签名字典结构,按照P7格式解析所述签名字典结构中的CONTENT字段中的数据,得到签名字典结构中的P7数据,提取并保存述P7数据中包含的国密电子签章数据;
[0025]将所述P7数据中的原文字段填充为0,得到盖章处理前的PDF文档,对所述盖章处理前的PDF文档进行二进制编码后得到二进制数据,将该二进制数据作为盖章处理前的PDF文档的原文数据;
[0026]基于国密验签接口,使用所述国密电子签章数据对所述盖章处理前的PDF文档的原文数据进行验证。
[0027]一种对PDF文档进行国密电子签章处理的装置,包括:
[0028]签名字典结构填充模块,用于选择电子印章,根据所述电子印章构造符合PDF标准的签名字典结构,将所述签名字典结构填充到PDF文档中;
[0029]P7数据填充模块,用于根据所述电子印章和所述填充了签名字典结构的PDF文档的原文数据构造符合PDF标准的包含电子签名的P7数据,将所述P7数据填充到所述签名字典结构中;
[0030]国密电子签章数据填充模块,用于提取所述填充了 P7数据的PDF文档的原文数据,使用所述电子印章对所述填充了 P7数据的PDF文档的原文数据进行盖章,生成国密电子签章数据,将所述国密电子签章数据填充到所述签名字典结构中,得到包含国密电子签章数据的PDF文档。
[0031]所述的签名字典结构填充模块,具体用于选择要使用的电子印章,从所述电子印章中提取印模、用户公钥证书,根据所述电子印章计算出国密电子签章数据长度,并预算出签名字典结构中存放P7数据的内容CONTENT字段的设定长度;
[0032]构造符合PDF标准中的包含证书字段、图片字段和CONTENT字段的签名字典结构,该签名字典结构中的证书字段中填充所述用户公钥证书,图片字段中填充所述印模,CONTENT字段的长度为所述设定长度,所述CONTENT字段内容的全部填充为O ;
[0033]解析PDF文档,并将所述签名字典结构填充到所述PDF文档中。
[0034]所述的P7数据填充模块,具体用于对所述填充了签名字典结构的PDF文档进行二进制编码后得到二进制数据,将该二进制数据作为填充了签名字典结构的PDF文档的原文数据;
[0035]构造包含用户证书字段、签名字段和原文字段的符合PDF标准的P7数据,在所述用户证书字段中填充所述用户公钥证书,在所述签名字段中填充使用电子印章所对应的用户私钥对所述填充了签名字典结构的PDF文档的原文数据进行签名后的数据,在所述原文字段中填充0,所述原文字段的长度为所述计算出的国密电子签章数据长度;
[0036]将所述P7数据填充到所述PDF文档中的签名字典结构中的CONTENT字段中。
[0037]所述的国密电子签章数据填充模块,具体用于对所述填充了 P7数据的PDF文档进行二进制编码后得到二进制数据,将该二进制数据作为填充了 P7数据的PDF文档的原文数据;
[0038]基于
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1