当前位置: 首页 > article >正文

Pdf手册阅读(1)--数字签名篇

原文阅读摘要

PDF支持的数字签名, 不仅仅是公私钥签名,还可以是指纹、手写、虹膜等生物识别签名。PDF签名的计算方式,可以基于字节范围进行计算,也可以基于Pdf 对象(pdf object)进行计算。

PDF文件可能包含4种标准签名:常规签名、MDP 签名、UR签名等.

MDP (modification detection and prevention)签名区分为DocMDP和filedMDP。其中DocMDP有且仅有1个,且必须在第一个签名域重。DocMdp说明了pdf哪些修改是被允许的,哪些修改会导致签名失效。DocMDP是基于Pdf对象计算签名的。同理,FieldsMDP用来检测某些特定的表单对象是否被修改,计算哈希时,基于表单进行计算。

UR(Usage rights)签名用于控制PDF的权限。当文件未修改时,授权UR中列明的权限。如果签名不合法或者用户不合法,则无权限。

PDF的签名存在于PDF的signature dicttionary对象中,该对象的结构如下图所示

数字签名的计算基于PKI体系,该体系比较熟悉了,不再赘述。

PDF的多数字签名,基于Incremental updates,如下图所示。%%EOF是pdf的结束标记,因此每次签名都是追加在文件尾部,并重新计算生成签名。基于该特性,PDF支持预览之前的签名版本。

FileMDP和DocMDP

参考资料:

Pdf reference 1.7  GitCode - 全球开发者的开源社区,开源代码托管平台

Digital signature in a pdf https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/Acrobat_DigitalSignatures_in_PDF.pdf


http://www.kler.cn/a/541019.html

相关文章:

  • 1111111
  • JS宏进阶:XMLHttpRequest对象
  • MongoDB 有哪些特性
  • 0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
  • git fetch和git pull 的区别
  • U3D支持webgpu阅读
  • 爬虫工程师分享:获取京东商品详情SKU数据的技术难点与攻破方法
  • AWS成本优化实战:查询未关联弹性IP地址的完整指南
  • 1.4 AOP编程范式
  • 【Matlab优化算法-第15期】基于NSGA-II算法的铁路物流园区功能区布局优化
  • 基于javaweb的SpringBoot电影推荐系统
  • 龙迅LT8711UXD 高性能2PORT TYPE-CDPEDP转HDMi 2.0加PD 3.0,内置MCU
  • 【C++】RBTree(红黑树)模拟实现
  • C#(19) 抽象类和抽象方法,接口
  • 使用 PDF SDK 通过页面分割和数据提取对建筑图纸进行分类
  • MYSQL实现原理 - 事务的隔离级别
  • nginx负载均衡后sse效果出不来,应该怎么排查
  • PAT甲级1053、 Path of Equal Weight
  • 游戏引擎学习第97天
  • 【探索未来科技】2025年国际学术会议前瞻
  • 2025影视泛目录站群程序设计_源码二次开发新版本无缓存刷新不变实现原理
  • 前端基础内容(一)
  • 拉格朗日插值法的matlab实现
  • .net处理dynamic类型运行之后的数据
  • 12.10 LLM 操作能力的边界突破(WebGPT vs SayCan)
  • 数据中心网络架构 — 云网一体化数据中心网络 — 算力网络 — SDN 架构