java.lang.NoClassDefFoundError:org/bouncycastle/jce/provider/BouncyCastleProvider

  • Post author:
  • Post category:java


BouncyCastleProvider配置


1





java.lang.NoClassDefFoundError:org/bouncycastle/jce/provider/BouncyCastleProvider


解决方法

BouncyCastle可以从www.bouncycastle.org下载(对应JDK版本的BouncyCastle)

1)  安装

在Windows中,在Java的安装目录下。例如:C:\ProgramFiles\Java\jdk1.6.0_38\jre\lib\ext目录下,把bcprov-jdk15on-149.jar文件放于其中。

2)  配置安全属性文件

安全属性文件java.security位于和/lib/ext平行的另一个目录/lib/security下,它定义了当前可以使用的加密提供者。如您看到下面的语句:

security.provider.1=sun.security.provider.Sun

security.provider.2=sun.security.rsa.SunRsaSign

它表明本虚拟机有两个加密提供者以及他们的优先级和访问时使用的名称。当需要用到一个加密算法时,虚拟机会依次访问这里列出的提供者,寻找想要的算法,并按这里的优先级顺序使用第一个找到的算法。我们应该在文件中插入新的提供者例如:

security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider


注意大小写

当然了,你也可以将前面的加密提供者配置删除,这样就不能使用jdk默认的加密提供者了。



版权声明:本文为luoww1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。