【技术实现步骤摘要】
一种PDF文件数字签名方法、系统及存储介质
本专利技术涉及PDF电子签章领域,特别涉及一种PDF文件数字签名方法、系统及存储介质。
技术介绍
国产密码算法(国密算法)是我国自主研制实现的密码算法,具有较高的安全性,由国家密码管理局认可和推广。在国家重点行业中采用国产密码算法,已逐渐成为一种趋势,有助于实现核心技术的自主可控。在PDF电子签章领域,最成熟的电子签章技术就是“数字签章”,它是以公钥及密钥的“非对称型”密码技术制作的电子签章。现有的PDF文件阅读器基于RSA算法进行电子文件的签名及验证,但对于国密算法进行签名的PDF文件无法识别。
技术实现思路
本专利技术实施例提供了一种PDF文件数字签名方法,能够支持使用国密算法进行签名的PDF文件。为解决上述技术问题,本申请第一方面提供一种PDF文件数字签名方法,所述PDF文件数字签名方法包括:获取待签名的PDF文件;对所述PDF文件分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;将所述第一签名信息和所述第二签名信息存储于所述PDF文件的签名结构中,以完成签名。可选的,所述将所述第一签名信息和所述第二签名信息存储于所述PDF文件的签名结构中之后,还包括:对已完成签名的所述PDF文件进行验证。 >可选的,所述对已完成签名的所述PDF文件进行验证,包括:解析所述签名结构,得到所述第一签名信息,所述第一签名信息包括RSA证书;基于所述RSA证书获取第一公钥;基于所述第一公钥确定签名的有效性和/或所述PDF文件是否被篡改。可选的,所述对已完成签名的所述PDF文件进行验证,还包括:解析所述签名结构,得到所述第二签名信息,所述第二签名信息包括国密证书;基于所述国密证书获取第二公钥;基于所述第二公钥确定签名的有效性和/或所述PDF文件是否被篡改。可选的,所述方法还包括:解析所述PDF文件,得到所述PDF文件源数据;基于所述PDF文件源数据生成所述签名结构;在所述签名结构中增加用于存储所述第二签名信息的字段。本申请第二方面提供一种PDF文件数字签名系统,所述PDF文件数字签名系统包括:获取单元,用于获取待签名的PDF文件;计算单元,用于对所述PDF文件分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;签名单元,用于基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;存储单元,用于将所述第一签名信息和所述第二签名存储于所述PDF文件的签名结构中,以完成签名。可选的,所述系统还包括:验证单元,用于对已完成签名的所述PDF文件进行验证。可选的,所述验证单元,具体用于解析所述签名结构,得到所述第一签名信息,所述第一签名信息包括RSA证书;基于所述RSA证书获取第一公钥;基于所述第一公钥确定签名的有效性和/或所述PDF文件是否被篡改;以及解析所述签名结构,得到所述第二签名信息,所述第二签名信息包括国密证书;基于所述国密证书获取第二公钥;基于所述第二公钥确定签名的有效性和/或所述PDF文件是否被篡改。可选的,所述系统还包括:解析单元,用于解析所述PDF文件,得到所述PDF文件源数据;生成单元,用于基于所述PDF文件源数据生成所述签名结构;增删单元,用于在所述签名结构中增加用于存储所述第二签名信息的字段。本申请第三方面提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面任一项所述的PDF文件数字签名方法的各个步骤。从以上技术方案可以看出,本专利技术实施例具有以下优点:将第二签名信息存储在PDF文件的签名结构中,以实现双签名功能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1为本申请PDF文件数字签名方法一实施例示意图;图2为本申请PDF文件数字签名验证方法一实施例示意图;图3为本申请PDF文件数字签名验证方法另一实施例示意图;图4为本申请PDF文件数字签名系统结构示意图;图5为本申请PDF文件数字签名系统另一结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。请参阅图1,本申请PDF文件数字签名方法一实施例包括:101、获取待签名的PDF文件;在本实施例中,系统可选择采用二进制流读取待签名的PDF文件,还可以采用其他方式读取待签名的PDF文件,此处不做限定。102、对PDF文件分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,第一摘要值适用于RSA算法,第二摘要值适用于国密算法;在本实施例中,具体地,系统可先对PDF文件进行RSA签名,对PDF文件进行SHA256哈希获取PDF文件的第一摘要值,即PDF文件的RSA摘要值;之后系统对PDF文件进行国密算法签名,对PDF文件进行SM3哈希获取PDF文件的第二摘要值,即PDF文件的国密SM2摘要值。可以理解的是,在一些实施例中,系统也可以同时进行SHA256以及SM3哈希运算,此次不做限定。103、基于RSA算法对第一摘要值进行签名,得到第一签名信息;以及基于国密算法对第二摘要值进行签名,得到第二签名信息;在本实施例中,具体地,系统对RSA摘要值使用RSA算法进行签名,得到第一签名信息,即RSA签名信息;之后系统对国密SM2摘要值使用国密算法进行签名,得到第二签名信息,即国密签名信息。可以理解的是,在一些实施例中,系统也可以同时对RSA摘要值和国密SM2摘要值进行签名,此次不做限定。104、将第一签名信息和第二签名信息存储于PDF文件的签名结构中,以完成签名。在本实施例中,具体地,系统将RSA签名信息和国密签名信息填充到PDF文件的签名结构中,保存PDF文件的签名结构到当前PDF文件中完成签名。可以理解,本实施例的PDF文件数字签名方法还包括:解析PDF文件,得到PDF文件源数据;基于PDF文件源数据生成签名结本文档来自技高网...
【技术保护点】
1.一种PDF文件数字签名方法,其特征在于,包括:/n获取待签名的PDF文件;/n对所述PDF文件分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;/n基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;/n将所述第一签名信息和所述第二签名信息存储于所述PDF文件的签名结构中,以完成签名。/n
【技术特征摘要】
1.一种PDF文件数字签名方法,其特征在于,包括:
获取待签名的PDF文件;
对所述PDF文件分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
将所述第一签名信息和所述第二签名信息存储于所述PDF文件的签名结构中,以完成签名。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一签名信息和所述第二签名信息存储于所述PDF文件的签名结构中之后,还包括:
对已完成签名的所述PDF文件进行验证。
3.根据权利要求2所述的方法,其特征在于,所述对已完成签名的所述PDF文件进行验证,包括:
解析所述签名结构,得到所述第一签名信息,所述第一签名信息包括RSA证书;
基于所述RSA证书获取第一公钥;
基于所述第一公钥确定签名的有效性和/或所述PDF文件是否被篡改。
4.根据权利要求3所述的方法,其特征在于,所述对已完成签名的所述PDF文件进行验证,还包括:
解析所述签名结构,得到所述第二签名信息,所述第二签名信息包括国密证书;
基于所述国密证书获取第二公钥;
基于所述第二公钥确定签名的有效性和/或所述PDF文件是否被篡改。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
解析所述PDF文件,得到所述PDF文件源数据;
基于所述PDF文件源数据生成所述签名结构;
在所述签名结构中增加用于存储所述第二签名信息的字段。
...
【专利技术属性】
技术研发人员:韦利东,张惠明,曾凡煦,
申请(专利权)人:上海亘岩网络科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。