【发布时间】:2014-04-26 03:51:03
【问题描述】:
我使用 iText 5.5.0 和 BouncyCastle bcprov-jdk15on-1.50 对 pdf 进行数字签名。如果我在 MakeSignature.signDetached 方法中不包含时间戳,一切正常。
当我使用 TSAClient 指定 TSAURL 时,我的代码给了我错误
java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable at MakeSignature.signDetached method
即使我处理了异常,我的程序也会终止。
我尝试了不同版本的 bouncycastle jar,但我得到了相同的错误,但未找到的类不同。
我真的需要在签名中包含时间戳。我该怎么办。
【问题讨论】:
-
jdk15on是什么,你是如何包含 jar 的? Maven iText 构建包括具有您提到的类的工件,它也出现在我在 Central 上看到的所有 BC 版本中。 -
bcprov-jdk15on-1.50.jar 是我在互联网上找到的最新版本的 BouncyCastle。我在 Eclipse 中使用“添加外部 jars”将 jar 包含在我的项目中。是的,ASN1Encodable 类确实列在所有 BC 版本中,但在最新版本中,它是作为接口而不是类。我不确定这是否会导致问题。
-
请先试用maven依赖中提到的版本(目前为1.49)。众所周知,Bouncy Castle 会在看似很小的版本更改中进行基本的 API 更改。
标签: java exception timestamp itext bouncycastle