使用赏金城堡 bcprov-jdk16-1.46.jar 时,我的签名和验证字符串的代码工作正常。我已将 jar 升级到 bcprov-jdk15on-1.66.jar,我的代码开始抛出以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/DEREncodable
at com.esb.cms.CmsCryptographyEngine.sign(CmsCryptographyEngine.java:124)
at com.esb.cms.CmsCryptographyEngine.main(CmsCryptographyEngine.java:53)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.DEREncodable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
限制是,我必须使用 bcprov-jdk15on-1.66.jar。我该如何修复这个版本?
谢谢大家,我能够解决这个问题。需要将代码从 1.46 更改为 1.66。