[发明专利]一种PDF文档多人并行电子签章的生成方法在审
申请号: | 202210998813.9 | 申请日: | 2022-08-19 |
公开(公告)号: | CN115514491A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 林少柳;黄志伟;刘义;邓永仁 | 申请(专利权)人: | 广东省电子商务认证有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40 |
代理公司: | 南京桦森专利代理事务所(普通合伙) 32652 | 代理人: | 袁瑞娟 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pdf 文档 并行 电子 签章 生成 方法 | ||
1.一种PDF文档多人并行电子签章的生成方法,其特征在于:包括签章、合章、验章三部分;
签章部分具体包括如下操作步骤:
步骤S01:获取签章位置、签章页码、电子印章数据;
步骤S02:加载待签章的PDF文档数据,解析PDF文档;
步骤S03:根据电子印章数据生成签章外观对象;
步骤S04:生成签名值对象;
所述的签名值对象包括Type、Filter、SubFilter、Contents、ByteRange,ByteRange是一个数组对象,包括四个元素:ByteRange[0]、ByteRange[1]、ByteRange[2]、ByteRange[3],数组元素0和2表示签章完整性保护开始的字节偏移量,数组元素1和3表示长度;
步骤S05:根据步骤S03和S04生成的对象,组装签名域对象;
所述的签名域对象包括Type、Subtype、Rect、P、AP、V等元素,其中AP引用S03生成的签章外观对象,V引用S04生成的签名值对象;
步骤S06:根据PDF增量更新的方式,将签名域对象等信息以增量更新方式添加到PDF文档;
步骤S07:调整签名值ByteRange四个元素的值,ByteRange[0]的值为0,ByteRange[1]的值为原文档的数据长度,ByteRange[2]的值为增量更新后文件末尾“%%EOF”的字节偏移量,ByteRange[3]的值为5,其值固定为“%%EOF”字符串的长度;
步骤S08:输出带签章的PDF文档;
合章部分具体包括如下操作步骤:
步骤S01:遍历解析所有带签章的PDF文档,获取签名域的相关对象,对每个解析出的签名域对象信息均进行步骤S02、步骤S03的处理;
步骤S02:将步骤S01得到的签名域对象持续增量更新到原PDF文档;
步骤S03:调整签名值对象的ByteRange的值,将ByteRange[2]的值设置为增量更新后的文件末尾“%%EOF”在PDF文档流中的字节偏移量;
步骤S04:输出带有所有用户签章的PDF文档;
验章部分具体包括如下操作步骤:
步骤S01:加载待签章的PDF文档数据,解析PDF文档的签名域信息;
步骤S02:遍历所有的签名域信息,对所有的签名域信息进行执行步骤S03-步骤S05的处理;
步骤S03:获取签名域的签名值对象,获取签名值对象的Content字段和ByteRange字段,按照PDF签名验证标准验证签名,如果验证失败,输出文档被篡改;
步骤S04:获取签名值Content字段的签名结果的验证签章JSON数据;
步骤S05: 获取签名域的P字段,AP字段,Rect字段,计算AP字段图片外观流对象内容的杂凑值,解析JSON对象,对比JSON对象设置的签章的位置,签章的页码、签章的图片外观流对象是否一致,如果不一致,输出文档被篡改;
步骤S06:S03-S05的步骤验证都正常,输出验证电子签章正常,未被篡改。
2.根据权利要求1所述的一种PDF文档多人并行电子签章的生成方法,其特征在于:签章部分步骤S03中,所述生成签章外观对象,具体为:
步骤S31:从电子印章数据中解析印章图片数据以及图片尺寸;
步骤S32:利用步骤S31中的印章图片数据生成签章外观流对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东省电子商务认证有限公司,未经广东省电子商务认证有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210998813.9/1.html,转载请声明来源钻瓜专利网。