当前位置: 首页 > 知识库问答 >
问题:

iText LTV签名不包括整个文档

虞高雅
2023-03-14

我有一个带有LTV签名的PDF文档(文档包含DSS字典)。如果签名后添加的唯一信息是DSS,为什么iText检查签名是否覆盖整个文档返回FALSE?文件中未作其他更改。

在iText 7.1.7中,方法SignatureUtil。SignatureOverwholeDocument不考虑DSS字节范围。对我来说,DSS是签名和验证检查的一部分,应该与此一起计算。

调用signatureCoversWholeDocument方法时,如何忽略/排除PDF文档末尾的DSS字节?

共有1个答案

韩景辉
2023-03-14

如果签名后添加的唯一信息是DSS,为什么iText检查签名是否覆盖整个文档返回FALSE?文件中未作其他更改。

但你自己说签名后添加了一些内容。因此,签名并不涵盖整个文件。因此,如果iText在这里报告了不同的内容,那么它就错了。

在iText 7.1.7中,方法SignatureUtil。SignatureOverwholeDocument不考虑DSS字节范围。对我来说,DSS是签名和验证检查的一部分,应该与此一起计算。

DSS不是签名的一部分。请重新阅读说明书。

SignatureUtil.signatureCoversWhole文档检查给定签名的签名字节范围是否包含整个PDF,除了签名期间为嵌入CMS签名容器而留下的间隙。

如果在此之后对文档进行了任何添加,则即使添加仅包含DSS,实际上即使添加不包含新对象,并且即使只添加了尾随的eol,该方法也将返回false

调用signatureCoversWholeDocument方法时,如何忽略/排除PDF文档末尾的DSS字节?

你需要的是别的东西。您需要的是检查签名后是否允许添加到PDF的代码。iText不包含用于此目的的方法,因此您必须自己实现该代码或寻找第三方实现。

请注意,这项任务并不容易。甚至AdobeAcrobat中的实现(这里可以作为一种参考)也经常出现错误,而且在两个方向上都是如此。

 类似资料:
  • 我有一个应用程序,我想打包成一个文件,但遇到了选项的问题,包括html、js和css文件。运行(当然,在将各个数据文件的路径和所需路径添加到.spec文件的中的后,该过程工作正常。 我尝试了这个问题中提出的解决方案,但打包后返回了一个错误。此外,如果不包含这个答案所建议的代码,那么打包到一个文件就可以很好地工作,再次丢失了我需要的html、js和css。 有人在pyinstaller 3.1中遇到

  • 我正在使用pcregrep搜索多行模式,我只希望pcregrep搜索具有特定文件扩展名的文件,即。

  • 所以我已经在我的智能手机里安装了应用程序。当我尝试安装它时,它会给出消息“Package signatures do not match the previous installed最重要的是,我不能卸载应用程序,我只需要更新它。我应该怎么做才能使它正常工作?

  • 在验证签名的上下文中,我希望在文档签名时验证签名证书的有效性。我意识到,如果我指定了过去的日期,则不使用CRL撤销检查方法,而如果我使用了当前时间或null,则撤销检查工作正常。我正在使用下一个代码 我已经启用了系统属性EnabledCRLDP。此外,OCSP不是一个通用的解决方案,因为它在某些证书中不起作用。 有什么理由不在过去的验证中使用CRL撤销方法? 在这种情况下,有什么方法可以强制使用C

  • 我有两个签名者。 第一个签名者接收用于签名的templateUrl。第二签名者通过电子邮件接收第一签名者签名的文档。