首页 > 解决方案 > 阅读受保护的 pdf,xss 设置过低和循环依赖

问题描述

我被困在所有者密码保护的 pdf 阅读中。我在谷歌上搜索了很多尝试不同的解决方案,但停留在某个地方,详细信息如下:

使用的技术:java 1.7,struts 1.3 任务:阅读安全的pdf。

目前我的 tomcat/lib 有大约 190 个 jars 相关的 jars 是:

  1. iText-2.1.7
  2. iTextPdf 5.5.13
  3. pdfbox-app-1.8.6
  4. bcprov-jdk16-141

目前我的代码是这样的:

try{
    pdfReader reader= new pdfReader(src);
}catch(Exception e){
    //logs
}

我有错误org.bouncycastle.asn1.asn1primitive not found.

所以我添加了 bcprov-ext-jdk14-1.47。

这解决了我在 Windows 环境中的问题,尽管在 Linux 环境中使用它时出现以下错误:

signer information does not match with signer information from other class in same package.

经过进一步研究,我发现 pdfbox 具有 maven 依赖项,因此使用了 bcprov-jdk15on-1.49 并删除了所有旧版本的 bcprov。

现在我的最后一个问题是:

这种组合:pdfbox-app-1.8.6 和 bcpov-jdk15on-1.49 导致以下错误

Too low xss setting and causing cyclic dependencies on two classes present in both jars.

虽然这个问题只能在少数 Tomcat 上重现。

请帮忙。

标签: itextpdfbox

解决方案


推荐阅读