java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable

use*_*670 5 java timestamp bouncycastle exception itext

我使用 iText5.5.0和 BouncyCastlebcprov-jdk15on-1.50对 pdf 进行数字签名。如果我不在方法中包含时间戳,一切都会正常MakeSignature.signDetached

当我使用TSAClient指定 时TSAURL,我的代码给出了错误

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable at MakeSignature.signDetached method
Run Code Online (Sandbox Code Playgroud)

即使我处理了异常,我的程序也会终止。

我尝试了不同版本的 bouncycastle jars,但我得到了相同的错误,但未找到类的差异。

我确实需要在签名中包含时间戳。我应该怎么办。

小智 6

您可以通过以下 URL 检查 itext 5.5 的依赖关系。

http://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.0

根据此页面,itext 5.5 对应的 bouncycastle 版本是 1.49。我在互联网上的某个页面上读到,bouncycastle 正在发生重大变化,并且通常很难找到特定版本的 itext 的相应版本的 bouncycastle。