2014-02-19 67 views
0

我試圖驗證的PAdES簽名,但在Adobe Reader的警告,就像(已經有後續變化......)。我可以驗證簽名的完整性,但如何在簽署文檔後檢查是否添加了註釋?我可以從PDF格式列出註解,如:如何在驗證時將PDF註釋與簽名連接起來?

/Annots [8 0 R 27 0 R 41 0 R]

它顯示:簽名(8 0 R),註釋(27 0 R),和另一簽名(41 0 R)。

如果我理解正確,那麼第一個數字(8,27,41)的順序代表它們被放置在pdf中的順序。或者,也許我錯了? 如果它是真的,如何獲得註釋值及其屬性?

回答

1

請檢查digital signatures in PDF我的書。圖2.20顯示了一個PDF看起來時,它的簽署多次這樣的:

enter image description here

以你的榜樣,它很可能是該版本1包含以下注釋:

/Annots[8 0 R] 

儘管修訂版2包含:

/Annots[8 0 R 27 0 R] 

和修訂3包含:

/Annots[8 0 R 27 0 R 41 0 R] 

在回答你的問題:是他們被放置在PDF中的順序:可能並不總是這種情況(PDF是一種相當特殊的格式),但你的猜測是一個安全的假設。

您想要檢測在哪個簽名之前或之後添加了哪些註釋。爲了實現這一點,您必須提取每個PDF的不同修訂版。

PDF總是以%%EOF結尾,每個新簽名在此之後添加數據%%EOF。回到之前的修訂意味着刪除文件末尾的字節,直到達到下一個%%EOF

如果你想用iText來做到這一點,你可以在我的書中找到一些例子。