如何检查PDF文件已签名多少次?

时间:2019-01-09 16:30:00

标签: c# pdf itext bouncycastle x509certificate

如何使用C#(最好是iTextSharp 5.5.11)检查PDF文件已签名多少次?只要能完成工作,我就对其他任何.NET PDF库都开放。

我想从硬盘驱动器中选择一个PDF文件,并在表格上显示对该PDF文件进行了多少次签名。

显示证书来源将是一个奖励。

谢谢。

1 个答案:

答案 0 :(得分:2)

由于iText在Java和C#中都存在,并且Digital Signatures tutorial for iText是用前一种语言编写的,因此我将以Java给出答案,将其移植到c#应该没有问题:

一个人可以使用SignatureUtil#getTotalRevisions()来获取号码。它的设计目的是为您提供文档中的签名数,如果在上次签名后才进行更改,则该数字加一个。

请检查C5_01_SignatureIntegrity。这里处理了三份文件:第一份已经签名,但随后进行了修改,第二份由四个人签名,第三份已经由4人签名,然后进行了修改。 SignatureUtil#getTotalRevisions()分别为它们返回2、4和5。

在第一种和第三种情况下的结果有点误导,但是可以使用SignatureUtil#signatureCoversWholeDocument(String)来检查最后一个修订是否与最后一个签名相对应。