itext - 阅读受保护的 pdf,xss 设置过低和循环依赖
问题描述
我被困在所有者密码保护的 pdf 阅读中。我在谷歌上搜索了很多尝试不同的解决方案,但停留在某个地方,详细信息如下:
使用的技术:java 1.7,struts 1.3 任务:阅读安全的pdf。
目前我的 tomcat/lib 有大约 190 个 jars 相关的 jars 是:
- iText-2.1.7
- iTextPdf 5.5.13
- pdfbox-app-1.8.6
- 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 上重现。
请帮忙。
解决方案
推荐阅读
- javascript - Javascript关联数组给出了许多未定义的字段
- reactjs - React Router 多条路由
- javascript - 来自组件的 React Native 函数调用
- java - 从收集循环接收的 Java 打印输入
- ruby - 使用正则表达式对混合数字字符串的哈希中包含的数字字符串字符进行乘法和求和
- r - 线性混合模型的summary()和anova()之间的差异
- bash - 创建临时文件并编辑内容并返回文件的路径
- ruby-on-rails - 如何在ruby中按字母顺序排序
- php - 你如何使用 Carbon 获得第一天和最后一天以及只有年和月?
- android - 如何使用自签名 OpenSSL 证书在 HTTPS 上测试 PWA?