- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我从代码库调用 PdfEncryptor.encrypt()
时,我遇到了上述异常。在SO中,我发现通常会因为itextpdf和bouncycaSTLe jar的错误组合而发生。但我在下面提到我认为这是正确的依赖关系。
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.46</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>1.0.0</version>
</dependency>
我们通过其他项目(测试)间接依赖itext。 “测试”项目有以下条目
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.0.4</version>
</dependency>
堆栈跟踪:
class "org.bouncycastle.asn1.ASN1ObjectIdentifier"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:952) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:666) at java.lang.ClassLoader.defineClass(ClassLoader.java:794) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2494) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:860) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1302) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) at com.itextpdf.text.pdf.PdfEncryption.(PdfEncryption.java:147) at com.itextpdf.text.pdf.PdfWriter.setEncryption(PdfWriter.java:2041) at com.itextpdf.text.pdf.PdfStamper.setEncryption(PdfStamper.java:295) at com.itextpdf.text.pdf.PdfStamper.setEncryption(PdfStamper.java:330) at com.itextpdf.text.pdf.PdfEncryptor.encrypt(PdfEncryptor.java:206)
如果您有任何解决方案,请告诉我。这将非常有帮助
最佳答案
您正在混合两个 iText 版本:一个是指我的名字 (com.lowagie
),日期为 2007 年 6 月的过时版本,另一个是较新版本 (com.itextpdf
),日期为从 2011 年 11 月开始。这两个不同的 iText 版本需要不同版本的 BouncyCaSTLe。您应该限制自己使用 iText 的单一版本(最好是 2016 年以来的版本)并使用相应的 BouncyCaSTLe 版本。您将在您使用的 iText 版本随附的 POM 中找到所需的 BouncyCaSTLe 版本。请注意,您还必须小心检查部署代码的位置。某些 Web 服务器附带的 BouncyCaSTLe 版本与您需要的版本不同。这可能会导致不一致。另一个例子是Android。 Android 附带旧版本的 BouncyCaSTLe 以及需要新版本与旧版本冲突的软件。这就是 iTextG(iText 的 Android 端口)使用 SpongyCaSTLe 而不是 BouncyCaSTLe 的原因。 SpongyCaSTLe 与 BouncyCaSTLe 相同,除了包名称之外。这样 SpongyCaSTLe 就不会与 Android 上提供的 BouncyCaSTLe 版本发生冲突。
长话短说:你说我有下面提到的依赖项,但你的假设我认为是正确的是错误的,因为你正在混合两个不同版本的 iText。
关于java - org.bouncycaSTLe.asn1.ASN1ObjectIdentifier”的签名者信息与签名者信息不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36444628/
我想使用 asn.1 实现一些协议(protocol),所以我必须在一些头文件中声明结构和标记名称,并将 asn.1 的编码规则作为函数实现。 你能给我推荐一些教程或书来引用吗? 我不知道如何为它编写
我正在寻找非常通用、严格且与平台无关的序列化框架。我发现了一个叫做 ASN.1 的东西。 它看起来像与序列化有关的东西,但我实际上无法理解它是什么。我阅读了维基百科文章和 ITU article但仍然
这些编码在 ASN.1 INTEGER 类型中是否相同? 编码十进制 10 02 01 0A 02 02 00 0A 02 03 00 00 0A ... 最佳答案 我假设您正在使用 BER。 INT
一个 ASN.1 标签由两个类位组成,一个是形式位和一个标签号。我的问题是:标签唯一性是什么就足够了?是否足够,类和编号是唯一的,还是还需要包含标签形式?或者反过来:是否有两个不同的标签具有相同的标签
这是一个用 ASN.1 DER 编码的证书示例 30 82 01 8F 30 81 F9 **A0** 03 02 01 02 02 01 01 30 0D 06 09 2A 86 48 86 F7
这是一个用 ASN.1 DER 编码的证书示例 30 82 01 8F 30 81 F9 **A0** 03 02 01 02 02 01 01 30 0D 06 09 2A 86 48 86 F7
我收到了一份 ASN.1 文档,其中包含两个编码/解码属性; 自动标签 我的理解;标签是使用编码规则自动定义的,除非定义中存在标签符号 隐含的可扩展性 我的理解;类型可能包含 ASN.1 文档中未定义
我收到了一份 ASN.1 文档,其中包含两个编码/解码属性; 自动标签 我的理解;标签是使用编码规则自动定义的,除非定义中存在标签符号 隐含的可扩展性 我的理解;类型可能包含 ASN.1 文档中未定义
我的服务器使用 ASN.1 生成的类接收一个 Integer BerInputStream in = new BerInputStream(socket.getInputStream());
我正在尝试在我的 .bashrc 配置文件中使用以下别名: alias ip2asn="IP=$(dig $1 a +short);whois -h v4.whois.cymru.com " -v $
我正在阅读 PKCS #7 ASN.1 定义,并遇到了这种类型。我似乎无法找出 {{Authenticated}} 在此代码中做了什么,或者这将被称为什么产品。我还在 PKCS #8 标准中看到了 {
例如根据 http://luca.ntop.org/Teaching/Appunti/asn1.html一个序列具有十六进制的标记号 10。 但是为什么 DER 编码为 30 而不是 10?带有十六进
我有以下 BERTLV: 61394F0BA00000030800001001234579074F05A000012345500E49442D4F6E65205049562042494F5F50107
为什么模数用前导零填充?我正在阅读 PKCS#1 和 PKCS#8,但没有找到任何相关信息。 在 c# 中必须删除前导零,有人知道为什么吗? 在 http://etherhack.co.uk/asym
我正在尝试使用通信协议(protocol)(具体来说是 S1AP),并且我正在尝试定义要测试的消息。 LTE 36.413 规范详细介绍了该协议(protocol),并在 pdf 的底部给出了 ASN
我正在解码 ASN.1 格式的 X.509 证书。我成功解码了它,遍历了结构,但有一件事我不明白。 在某些情况下,我会得到一个八位字节字符串,而我正在使用的这个网站 ( http://lapo.it/
使用抽象语法表示法声明 IpAddress: IpAddress ::= [APPLICATION 1] INTEGER (0..4294967295) 这段代码中的[APPLICATION 1]是什
我无法理解 ASN.1 的基本概念。 如果类型是 OID,相应的数字是否实际编码在二进制数据中? 例如在此定义中: id-ad-ocsp OBJECT IDENTIFIER ::= {
我需要创建一个包含多条记录的 ASN.1 BER 编码文件。我一直在寻找一个(oss、asn1c、...等工具),但我找不到一个适合我的完整示例,说明如何在一个文件中编码多条记录。 有谁知道一个好工具
使用抽象语法表示法声明 IpAddress: IpAddress ::= [APPLICATION 1] INTEGER (0..4294967295) 这段代码中的[APPLICATION 1]是什
我是一名优秀的程序员,十分优秀!