本发明涉及pdf签名领域,特别是涉及一种pdf共享签名方法和系统。
背景技术:
1、目前电子合同签署领域文档格式以pdf为主,章方式主要有:坐标签、关键字签、骑缝签等。在进行pdf签名时,每个签章对应一个签名域,签名域中包含印章图片和数字签名信息,签章个数越多,意味着签名域越多,文件就越大。特别是骑缝签,有多少页就有多少个签章。例如,要创建1000个签名域,签名1000次,每个签名域按50k计算,文档签名后增加了50m。这就会导致pdf签名后的文档占用较大内存,且签名过程存在操作复杂、签名效率低的问题。
技术实现思路
1、为了解决现有技术存在的上述问题,本发明提供了pdf共享签名方法和系统。
2、为实现上述目的,本发明提供了如下方案:
3、一种pdf共享签名方法,包括:
4、在pdf文档中创建签名域;
5、将图片对象添加到所述签名域;所述图片对象包含多个印章图片;
6、在所述签名域中创建签名值区域;
7、将所述签名值区域之外的数据做为签名原文,并确定所述签名原文的hash值;
8、采用用户私钥和证书对所述hash值进行p7签名;
9、将所述p7签名置于所述签名值区域中,完成签名。
10、优选地,所述将图片对象添加到所述签名域,之前还包括:
11、创建表单签名字段;所述表单签名字段与印章一一对应;
12、将所述表单签名字段使用的印章图片指向同一图片对象,并且所述表单签名字段使用的签名值指向同一签名值对象。
13、优选地,同一签名值对象为在所述签名域中创建的签名值区域。
14、优选地,所述签名值区域的长度为8192个字符。
15、对应于上述提供的pdf共享签名方法,本发明还提供了两种pdf共享签名系统,具体如下:
16、其中一种pdf共享签名系统,包括:
17、签名域创建模块,用于在pdf文档中创建签名域;
18、图片对象添加模块,用于将图片对象添加到所述签名域;所述图片对象包含多个印章图片;
19、签名值区域创建模块,用于在所述签名域中创建签名值区域;
20、hash值确定模块,用于将所述签名值区域之外的数据做为签名原文,并确定所述签名原文的hash值;
21、签名模块,用于采用用户私钥和证书对所述hash值进行p7签名;
22、签名放置模块,用于将所述p7签名置于所述签名值区域中,完成签名。
23、优选地,还包括:
24、表单签名字段创建模块,用于创建表单签名字段;所述表单签名字段与印章一一对应;
25、表单签名指向模块,用于将所述表单签名字段使用的印章图片指向同一图片对象,并且所述表单签名字段使用的签名值指向同一签名值对象。
26、另一种pdf共享签名系统,包括处理器和存储器;
27、所述处理器和所述存储器进行数据交互;所述存储器中存储有计算机软件程序;所述计算机软件程序用于执行上述提供的pdf共享签名方法。
28、优选地,所述存储器为计算机可读存储介质。
29、根据本发明提供的具体实施例,本发明公开了以下技术效果:
30、本发明提供的pdf共享签名方法和系统,通过使用一个印章图片和签名与来实现多个印章和签名的映射,能够在降低签名后文档占用内存的同时,简化签名过程,提高签名效率。
1.一种pdf共享签名方法,其特征在于,包括:
2.根据权利要求1所述的pdf共享签名方法,其特征在于,所述将图片对象添加到所述签名域,之前还包括:
3.根据权利要求2所述的pdf共享签名方法,其特征在于,同一签名值对象为在所述签名域中创建的签名值区域。
4.根据权利要求1所述的pdf共享签名方法,其特征在于,所述签名值区域的长度为8192个字符。
5.一种pdf共享签名系统,其特征在于,包括:
6.根据权利要求5所述的pdf共享签名系统,其特征在于,还包括:
7.一种pdf共享签名系统,其特征在于,包括处理器和存储器;
8.根据权利要求7所述的pdf共享签名系统,其特征在于,所述存储器为计算机可读存储介质。