【发布时间】:2018-01-04 13:48:26
【问题描述】:
我正在尝试弄清楚如何检测文档在签名后是否已更改。我似乎找不到一个好的解决方案。
有人知道吗?
编辑
仅使用“ShowSignature.java”做了一些额外的测试。这是我到目前为止发现的。如果我通过 PDFBox 更改文档,Adobe Reader 和 PDFBox 都会检测到损坏的签名。如果我使用 Adobe 产品(在本例中为 Adobe Illustrator)更改文档,Adobe 将报告签名损坏,“ShowSignature.java”不会。
子过滤器是 ETSI.CAdES.detached
工作和损坏的链接:
【问题讨论】:
-
你的意思是什么变化?更改签名中的文档哈希值或不更改?
-
我实际上使用 ShowSignature.java 作为基础。这是我所做的:加载签名版本“PDDocument.load”然后“PDDocumentInformation info = document.getDocumentInformation();” "info.setCustomMetadataValue("NewMeta", "Dummy");" “document.setDocumentInformation(信息);” document.save...当我在 Adobe PDF 视图中查看文档时,它告诉我签名已损坏,但是当我通过 ShowSignature 代码运行更新的文档时,一切都很好。我错过了什么?谢谢
-
如果您在已签名的 PDF 上执行
PDDocument.load和后来的document.save,则签名肯定会损坏。不过,请分享有问题的 PDF,ShowSignature此后仍然说“一切都很好”,因为它不应该。附注:如果您为有关堆栈溢出的问题提供其他信息,特别是如果它很多或如果它是代码,请将该信息编辑到问题文本中;它下面有一个edit 链接。 -
@Anders Andrén 不幸的是,提供的两个签名链接现在都已损坏...
标签: pdfbox