我使用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罐,但我得到了相同的错误与差异的类没有找到。
我真的需要在签名中包含时间戳。我应该怎么做?
4条答案
按热度按时间uz75evzq1#
您可以在以下URL检查itext 5.5的依赖项。
http://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.0
根据这个页面,itext 5.5的对应版本是1.49。我在互联网上的某个页面上读到,bouncycastle正在发生重大变化,通常很难找到特定版本的itext的对应版本。
cyej8jka2#
请从下面的给定链接下载bcprov-jdk 15 on-150.jar(适用于JDK 1.5 - 1.7)文件,并添加到您的项目中以解决java.lang.NoClassDefFoundError:org/弹跳城堡/asn 1/ASN 1可编码异常。
http://www.bouncycastle.org/latest_releases.html
根据您的JDK版本,从上面的链接中找到合适的jar文件。
krcsximq3#
在你的项目中包含iText的推荐方法是使用Maven。Maven会为你解决依赖关系。我读到你使用Eclipse,Eclipse有一个非常好的Maven插件。
把这个放进你的
pom.xml
里:更多信息请访问http://developers.itextpdf.com/itext-java
kiz8lqtg4#
从.m2中删除文件夹bouncycastle(org/bouncycastle),并运行mvn clean compile来下载依赖项