我使用iText 5.5.0
和BouncyCastle bcprov-jdk15on-1.50
對PDF進行數字簽名。如果我在MakeSignature.signDetached
方法中沒有包含時間戳,那麼這一切都可以正常工作。java.lang.NoClassDefFoundError:org/bouncycastle/asn1/ASN1Encodable
當我使用TSAClient
指定TSAURL
,我的代碼給我的錯誤
java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable at MakeSignature.signDetached method
和我的程序得到,即使我處理的異常終止。
我嘗試了不同版本的bouncycastle罐子,但是我得到了相同的錯誤,在類中找不到相同的錯誤。
我真的需要包含在簽名中的時間戳。我該怎麼辦。
什麼是'jdk15on'信息,以及你是如何包括罐子? Maven iText構建包括具有您提及的類的工件,並且它也出現在我在Central上列出的所有BC版本中。 – chrylis
bcprov-jdk15on-1.50.jar是我在互聯網上找到的BouncyCastle的最新版本。我在eclipse中使用'添加外部jar'來將jar包含在我的項目中。是的,所有BC版本都列出了ASN1Encodable類,但在最新版本中,它是作爲接口而不是類的。我不確定這可能會導致問題。 – user3412670
請首先嚐試maven依賴關係中提到的版本(當前是1.49)。已知Bouncy Castle會在看似微小的版本更改中對基本API進行更改。 – mkl