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

Itext 7(Java):如何检查文档是否启用了ltv

管翼
2023-03-14

我正在通过创建一个验证工具来验证一个PDF文档。我如何检查文档是否启用了LTV?此外,如果启用了它的ltv,我如何从文档本身获得嵌入的OCSP响应/嵌入的CRL响应。

共有1个答案

厉永宁
2023-03-14

如何检查文档是否启用了LTV?

如果在验证签名时,PDF中嵌入的验证相关信息已经足够,并且不需要下载额外的数据,则Adobe Acrobat显示有效签名已启用LTV。(对于某些背景,请在此处阅读关于Adobe启用LTV配置文件的堆栈溢出的其他答案,例如这个。)

但验证过程的要求取决于Adobe Acrobat安装本身及其运行时环境的配置。因此,一般来说,您不能说某些PDF签名是“启用LTV的”,充其量,您可以针对Adobe Acrobat的某些特定配置这样说。

尽管如此,这还是很困难,因为Adobe Acrobat中没有指定验证算法。从概念上讲,它们是基于已知的标准,但一方面,这些标准确实让实现者松了一口气,另一方面,Acrobat中还有一些甚至超出这一范围的怪癖。

您可以做的是实现一个尽力而为的验证功能,在该功能中,您还可以检查验证所需的外部数据是否超过所讨论的PDF中包含的数据。

如果它的ltv启用了,我怎么能从文档本身获得嵌入的OCSP响应/嵌入的CRL响应。

看看这个问题中的代码。它展示了如何提取嵌入在有符号的Adobe撤销数据属性中的CRL,即使用pkcs7.getCRLs()AcroFields.verifySignature中检索到的PdfPKCS7 pkcs7来获取有问题的签名。类似地,您可以使用pkcs7.getOcsp()从该属性中检索OCSP响应。不幸的是,这里只保存了最后一个这样的响应,要获得所有这些响应,您必须稍微调整PdfPKCS7

然后看看这个问题答案中的代码。它展示了如何从PDF的DSS字典中检索验证相关信息。

 类似资料:
  • 问题内容: 我正在使用以下代码 这可以启用或禁用它 但我想作为函数说函数名是 那么我可以按照我的网站代码中的任意位置来称呼它 与我先前的问题几乎相同,请检查是否启用了allow_url_fopen 问题答案: 只需从函数中返回现有支票即可。

  • 问题内容: 我正在一个需要JavaScript和会话的页面上工作。我已经有代码来警告用户是否禁用了javascript。现在,我想处理禁用cookie的情况,因为会话ID存储在cookie中。 我只想到了几个主意: 将会话ID嵌入链接和表单中 警告用户如果禁用了cookie,则必须启用cookie(需要帮助来检测cookie是否被禁用) 解决此问题的最佳方法是什么?谢谢 编辑 根据链接的文章,我想

  • 问题内容: 我在想,如果有可能,以检查是否被启用 的Apache 和 IIS 在 。 *存在用于IIS的 *ModRewrite 。检查一下。 因此,我正在寻找一个在 Apache 和 IIS 上进行检查的PHP脚本 。 有谁知道这样的脚本或可以写一个? 特别是对于Microsoft IIS 。 谢谢! 问题答案: 如果您使用的是mod_php,则可以使用。这将返回所有已启用模块的数组,因此要检查

  • 问题内容: 有什么方法可以检查Go程序是否在运行时启用了编译功能(例如,用于日志记录/信息目的)? 我检查了文档以及明显的位置(),但找不到任何东西。 问题答案: 据我所知,没有对此的简单检查,但是启用了 build标签后,您就可以利用它了。 我创建了一个新目录,并在其中放置了两个文件: : : 由于使用了build标签,将仅编译两个文件之一。 这也是围棋标准库是怎么做的(,),但由于这是一个内部

  • 问题内容: 我一直在做一些关于CoreLocation的研究。最近,我遇到了一个问题,该问题已在其他地方解决,但在Objective C和iOS 8中已涵盖。 我觉得这有点愚蠢,但是如何在iOS 9上检查是否使用swift启用了定位服务? 在iOS 7(甚至可能是8?)上,您可以使用,但是在为iOS 9编译时似乎无法正常工作。 那我该怎么做呢? 谢谢! 问题答案: 将添加到您的类继承中,然后可以进

  • 问题内容: 有没有办法检查PHP是否启用了JavaScript?如果是这样,怎么办? 问题答案: 不可以,这是不可能的,因为PHP是一种服务器端语言,它不会以任何方式或形式(客户端从PHP服务器请求)访问客户端的浏览器。 客户端可以通过HTTP标头提供一些元信息,但是它们不一定告诉您用户是否启用了JavaScript,并且您无论如何也不能依赖它们,