java.lang.ClassNotFoundException:org.bouncycastle.asn1.asn1可编码

java.lang.ClassNotFoundException:org.bouncycastle.asn1.asn1可编码,java,pdf,timestamp,itext,bouncycastle,Java,Pdf,Timestamp,Itext,Bouncycastle,我正在使用IText 4.2.0和bcprov-jdk15-1.43.jar以及bctsp-jdk15-1.43.jar对pdf进行签名。我通过Eclipse中的AddExternalJARS按钮添加了这些JAR。当我执行时,它会给我以下错误 ExceptionConverter: java.lang.Exception: Failed to get TSA response from tsaURL at com.lowagie.text.pdf.TSAClientBouncyCastle.ge

我正在使用IText 4.2.0和bcprov-jdk15-1.43.jar以及bctsp-jdk15-1.43.jar对pdf进行签名。我通过Eclipse中的AddExternalJARS按钮添加了这些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。我不明白是什么问题。

该异常意味着类加载器在运行时找不到该类。我们没有足够的信息来确定为什么会这样。。。但这绝对是你问题的原因


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

我通过单击“运行配置”检查了eclipse中的运行时类路径,它指向正确的JAR文件;e、 g.运行“ps-av”并查看命令行参数。您缺少了一些东西…除了引用的库之外,我还将JAR添加到了JRE库中,并且执行得很好。签名很好,但我仍然看不到签名上的时间戳,上面写着“自签名应用以来”,但看不到应用的时间。您使用的iText版本存在严重问题。我在包名中看到了我的名字,这让我相信您正在使用iText,但您提到您正在使用iText 4.2.0,而这是一个不存在的版本。官方版本从2.1.7跃升到5.0.0。有关更多信息,请参阅。您可能获得了iText的流氓版本。如果我是你,我就不会使用这个版本。请告诉我应该下载什么版本的itext和bouncy castle,以便在启用ltv和时间戳的情况下进行pdf签名。而且它必须免费用于商业用途。提前谢谢。当我们在另一个应用程序中使用.net时,您是否也可以将ITextSharp变更日志的链接发送给我。请注意,ITextSharp to use.LTV的免费版本是最近添加的,仅在AGPL版本中可用。从iText 5开始,iTextSharp变更日志与iText变更日志相同。你还需要了解免费和免费的区别。AGPL软件是免费的,但不是免费的。只要您使您的软件在AGPL下完全免费,就可以使用AGPL下提供的软件而无需支付费用。如果你想在商业环境中使用这个功能,你不应该要求免费的版本。