2017-05-24 294 views
0

我已经包括2个BC罐子到我的项目:bcpkix-jdk15on-1.47.jarbcprov-jdk15on-157.jarjava.lang.NoClassDefFoundError两个BouncyCastle的罐子

正如在第一行代码我已经加入:发生就行

Security.addProvider(new BouncyCastleProvider()); 

例外:

JcaPKCS10CertificationRequest csrNew = new JcaPKCS10CertificationRequest(request); 

By the way it is imported: import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest; 

但我仍然得到:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/JcaJceHelper at implementation.Util.generateCSR(Util.java:396)

的NetBeans发现了类定期,但是当我运行项目异常发生。

有什么办法,我怎么能经常包括这两个BouncyCastle罐子?

回答

1

错误代码为org/bouncycastle/jcajce/JcaJceHelper,而不是org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest

问题:您正在使用的jar文件的版本。 bcpkix-jdk15on-1.47是版本1.47,而bcprov-jdk15on-1.57是版本1.57。

org/bouncycastle/jcajce/JcaJceHelperbcprov-jdk15on-1.47是有,但它不提供bcprov-jdk15on-1.57。在版本1.57中,它可以用作org/bouncycastle/jcajce/util/JcaJceHelper

Netbeans无法检测到该问题,因为只有在运行代码时才会出现此问题。它不会在编译时被捕获。

解决方案: 是的,你可以使用这两个罐子在一起。只需使用相同的版本。使用bcpkix-jdk15on-1.57使用bcprov-jdk15on-1.47

+0

谢谢你的回应!我成功添加了bcpkix-jdk15on-1.57.jar。 – ldragicevic

+0

很高兴帮助:) –

相关问题