java.lang.ClassNotFoundException:org.bouncycastle.asn1.ASN1Encodable

时间:2014-03-20 15:22:09

标签: java pdf timestamp itext bouncycastle

我正在使用IText 4.2.0和bcprov-jdk15-1.43.jar以及bctsp-jdk15-1.43.jar来签署pdf。我通过在Eclipse中添加外部jar按钮添加了这些jar。当我执行它时会给我以下错误。

ExceptionConverter: java.lang.Exception: Failed to get TSA response from tsaURL
at com.lowagie.text.pdf.TSAClientBouncyCastle.getTimeStampToken(TSAClientBouncyCastle.java:185)
at com.lowagie.text.pdf.TSAClientBouncyCastle.getTimeStampToken(TSAClientBouncyCastle.java:136)
at com.lowagie.text.pdf.PdfPKCS7.getEncodedPKCS7(PdfPKCS7.java:1236)
at pack1.PDFSigningWithHSM.PDFSigningWithHSM.main(PDFSigningWithHSM.java:489)

Caused by: java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
at com.lowagie.text.pdf.TSAClientBouncyCastle.getTimeStampToken(TSAClientBouncyCastle.java:146)
... 3 more

Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.ASN1Encodable
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more

但我在jar文件bcprov-jdk15-1.43.jar中看到了类ASN1Encodable。我不明白这是什么问题。

1 个答案:

答案 0 :(得分:3)

该异常意味着类加载器无法在运行时找到该类。我们没有足够的信息来确定原因是什么......但这肯定是导致问题的原因。

检查有问题的JAR文件是否确实在应用程序的有效运行时类路径上。