PDF签名机制

在对PDF进行签章操作时,其实就是对PDF原文进行hash摘要后做签名操作,那么具体是怎么做的呢,看了百度一些大佬的讲解,以图示总结下

PDF文件是由一系列Objects组成的,通过objects的相互引用,组织成了一个文档的appearance

  

 上图是一个加入了数字签名的PDF文档内容。被签名的文档内容是整个文档,但是除去了Contents入口下面的具体值,简单来说,是对图中蓝色部分的所有内容做哈希,然后对哈希做签名,最后吧签名值以及相关内容写进图中粉色部分

具体流程:

1.把文档序列化成一个字节串,中间预留出合适的空间存放签名值,此步骤称为preliminary serialization.

2.将字节串预留的空间去掉,生成新的字节串,称为signing serialization

3.根据signing serilization生成签名数据块写入步骤一的preliminary serialization,签名结束。

猜你喜欢

转载自blog.csdn.net/qq_42383970/article/details/128303722