掌桥专利:专业的专利平台
掌桥专利
首页

适用于PDF的快速骑缝签章方法

文献发布时间:2023-06-19 12:11:54


适用于PDF的快速骑缝签章方法

技术领域

本发明属于图像数据处理技术领域,具体涉及一种适用于PDF的快速骑缝签章方法。

背景技术

电子签章是电子签名的一种表现形式,是利用图像处理技术将电子签名操作转化为与纸质文件盖章操作相同的可视效果,同时利用电子签名技术保障电子信息的真实性和完整性以及签名人的不可否认性。

随着Internet的普及、各种电子商务活动和电子政务活动的飞速发展,电子签章开始广泛地应用到各个领域之中,保障了电子公文的真实性、完整性、机密性和不可否认性。在实际应用中,有时需要对纸张文件的多页共同加盖一个实物印章,且每一页只加盖实物印章的一部分,多页合并起来可以得到一个完整的实物印章,从而保证文件的某页或某几页不被替换。通常,将以这种方式加盖的印章称作骑缝章。

在骑缝签章的应用场景中,一方面要根据不同的骑缝策略对签章图片进行切割以及分配相应的签章位置,另一方面骑缝签章数量与PDF页面数量是直接相关的,最大骑缝签章数量接近2倍PDF页面数,所以当PDF页面数量较大的时候骑缝签章数量可达成百上千个,严重影响骑缝签章的速度,传统的签章技术无法实现快速骑缝签章的要求。

发明内容

鉴于以上存在的技术问题,本发明用于提供一种适用于PDF的快速骑缝签章方法。

为解决上述技术问题,本发明采用如下的技术方案:

一种适用于PDF的快速骑缝签章方法,包括以下步骤:

S1,根据待签章文档的页码范围以及骑缝签章的方式,对本次骑缝签章的电子印章进行切割;

S2,解析PDF文档元数据,根据骑缝签章方式计算待签章页面的签章坐标;

S3,遍历每个签章坐标,在坐标位置加盖对应切割后的印章图片。

优选地,所述S3进一步包括:

S301,根据PADES数字签名标准,在坐标位置处添加第一签名域记为 sig_field_1;

S302,在第一签名域sig_field_1中添加对应切割后的印章图片;

S303,遍历下一个签章坐标,根据PADES数字签名标准,在坐标位置处添加第二签名域记为sig_field_2;

S304,在第二签名域sig_field_2中添加对应切割后的印章图片;

S305,修改第二签名域sig_field_2的域对象“V”为第一签名域sig_field_1 的签名对象的引用;

306,重复S303到S305完成所有骑缝签章坐标的盖章;

307,基于数字证书和数字签名技术生成标准的数字签名值并添加至第一签名域sig_field_1中;

308,为最终生成的数字签名值签发时间戳,并添加至第一签名域 sig_field_1中,至此完成骑缝签章所有坐标位置的电子签章。

优选地,所述数字签名采用非对称算法和摘要算法的联合叠加。

优选地,所述数字签名采用非对称算法和摘要算法的联合叠加具体为,

用户A进行签名,签名过程为:第一步对原文进行哈希摘要,得到原文的哈希摘要值;第二步使用签名人的私钥对哈希摘要值进行加密得到签名值;第三步将原文与签名值进行合并得到签名后文件;

用户B进行验签,验签过程为:第一步将签名后文件拆分成原文和签名值;第二步将原文进行哈希摘要得到一个哈希值,将签名值使用签名人公钥进行解密得到一个哈希值;第三步将两份哈希值进行比较,如果相同则证明文件未被篡改,如果不同则证明文件已被篡改。

采用本发明具有如下的有益效果:结合数字签名技术以及骑缝签章技术,解决了对电子文档进行骑缝签章以及多页面PDF签章数量大效率低的问题。

附图说明

图1为本发明实施例的适用于PDF的快速骑缝签章方法的流程图;

图2为非对称算法的实现流程图;

图3为摘要算法的实现流程图;

图4为用户A进行签名的流程图;

图5为用户B进行验签的流程图;

图6为生成时间戳的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,所示为本发明实施例的适用于PDF的快速骑缝签章方法的步骤流程图,包括以下步骤:

S1,根据待签章文档的页码范围以及骑缝签章的方式,对本次骑缝签章的电子印章进行切割;

S2,解析PDF文档元数据,根据骑缝签章方式计算待签章页面的签章坐标;

S3,遍历每个签章坐标,在坐标位置加盖对应切割后的印章图片。

具体应用实例中,S3进一步包括:

S301,根据PADES数字签名标准,在坐标位置处添加第一签名域,记为 sig_field_1;

其中,PADES是由ISO32000定义、由ETSI维护的PDF数字签名规范。几乎所有的PDF阅读器均遵循这一规范,从而确保生成的数字签名可以在不同的PDF阅读器中被正确验证。

S302,在第一签名域sig_feld_1中添加对应切割后的印章图片;

S303,遍历下一个签章坐标,根据PADES数字签名标准,在坐标位置处添加第二签名域,记为sig_field_2;

S304,在第二签名域sig_field_2中添加对应切割后的印章图片;

S305,修改第二签名域sig_field_2的域对象“V”为第一签名域sig_field_1 的签名对象的引用;此步骤避免多次计算签名域,减少签名域的计算次数,增加效率。其中域对象“V”表示pdf签名域的值,是pdf签名域标准的一部分。

步骤306,重复S303到S305完成所有骑缝签章坐标的盖章;

步骤307,基于数字证书和数字签名技术生成标准的数字签名值并添加至第一签名域sig_field_1中;

步骤308,为最终生成的数字签名值签发时间戳,并添加至第一签名域 sig_field_1中,至此完成骑缝签章所有坐标位置的电子签章。

传统的算法加密密钥与解密密钥相同,称之为对称算法;加密密钥与解密密钥不同,则为非对称算法。这对密钥一个称为公钥,一个称为私钥。公钥是公开的,互联网中任何人都可以取得所有他人的公钥;私钥是私密的,只有持有人自己才能使用。如图2所示,用户A要向用户B发送一段明文。发送流程如下:

1)首先用户A取得用户B的公开密钥(Bpubkey);

2)使用该公开密钥及公钥算法对明文进行加密形成密文;

3)将密文发送给B;

4)B收到密文后,利用自身持有的私钥(Bprikey)对密文进行解密,得到明文。

由于B的公钥本身就是公开的,因此公钥密码体制中不存在密钥共享的问题;私钥由持有人终身持有,因此保障了数据的安全性。

除了实现数据的机密性传输之外,非对称算法还可以达到防抵赖的目的。原理是A使用自己的私钥加密文件;B收到文件后,使用A的公钥解密;如果能够解密的,证明文件一定来源于A。

常见的非对称算法有RSA、Elgamal、Rabin、DH、ECC(椭圆曲线加密算法)、国产加密算法SM2。

如图3所示,摘要算法,也叫做哈希算法、指纹算法、杂凑算法。就像每个人的指纹一样,任何不同的数据经过摘要算法后得到的结果都是不同的,而任何相同的数据经过摘要算法后得到的结果都是相同的。因此,摘要结果又称之为数据的数字指纹。摘要算法常常用于密码的校验。为了防止密码以明文方式保存数据库造成的安全隐患,常常对密码进行摘要算法后保存在数据库;在身份认证时,对用户输入的密码再做一次摘要,并与数据库中的摘要进行比较;如果相同,则认证通过。

摘要算法也常常用于实现数据的完整性校验。将数据进行一次摘要运算,将结果与数据原文同时保存或发送给另一方;在校验时,将数据原文再做一次摘要,并将结果与原摘要结果进行比对,如果相同说明未被篡改,如果不同则说明原文被篡改。

具体应用实例中,数字签名是非对称算法和摘要算法的联合叠加。数字签名的目的有两个,分别是防抵赖和防篡改。

如图4所示,本发明实施例中,用户A进行签名,签名过程为:第一步对原文进行哈希摘要,得到原文的哈希摘要值;第二步使用签名人的私钥对哈希摘要值进行加密得到签名值;第三步将原文与签名值进行合并得到签名后文件。

如图5所示,本发明实施例中,用户B进行验签,验签过程为:第一步将签名后文件拆分成原文和签名值;第二步将原文进行哈希摘要得到一个哈希值,将签名值使用签名人公钥进行解密得到一个哈希值;第三步将两份哈希值进行比较,如果相同则证明文件未被篡改,如果不同则证明文件已被篡改。

如图6所示,具体应用实例中,时间戳是“数字证明”中的另一个关键环节,即证明某数据在某个时间存在,并且未被篡改。时间戳的原理是将原文经过一次摘要运算,将摘要结果发送给时间戳签服务器,时间戳服务器使用数字签名技术对摘要结果和当前时间进行一次数字签名,由于摘要结果是原文的数字指纹从而得以证明该原文在这个时间存在,同时解决了防篡改问题。

应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

技术分类

06120113208017