摩洛哥網(wǎng)站后綴網(wǎng)上電商平臺開發(fā)
原文閱讀摘要
PDF支持的數(shù)字簽名, 不僅僅是公私鑰簽名,還可以是指紋、手寫、虹膜等生物識別簽名。PDF簽名的計算方式,可以基于字節(jié)范圍進行計算,也可以基于Pdf 對象(pdf object)進行計算。
PDF文件可能包含4種標準簽名:常規(guī)簽名、MDP 簽名、UR簽名等.
MDP (modification detection and prevention)簽名區(qū)分為DocMDP和filedMDP。其中DocMDP有且僅有1個,且必須在第一個簽名域重。DocMdp說明了pdf哪些修改是被允許的,哪些修改會導(dǎo)致簽名失效。DocMDP是基于Pdf對象計算簽名的。同理,FieldsMDP用來檢測某些特定的表單對象是否被修改,計算哈希時,基于表單進行計算。
UR(Usage rights)簽名用于控制PDF的權(quán)限。當文件未修改時,授權(quán)UR中列明的權(quán)限。如果簽名不合法或者用戶不合法,則無權(quán)限。
PDF的簽名存在于PDF的signature dicttionary對象中,該對象的結(jié)構(gòu)如下圖所示
數(shù)字簽名的計算基于PKI體系,該體系比較熟悉了,不再贅述。
PDF的多數(shù)字簽名,基于Incremental updates,如下圖所示。%%EOF是pdf的結(jié)束標記,因此每次簽名都是追加在文件尾部,并重新計算生成簽名?;谠撎匦?#xff0c;PDF支持預(yù)覽之前的簽名版本。
FileMDP和DocMDP
參考資料:
Pdf reference 1.7??GitCode - 全球開發(fā)者的開源社區(qū),開源代碼托管平臺
Digital signature in a pdf?https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/Acrobat_DigitalSignatures_in_PDF.pdf