Java6提供了多种算法支持,但并不完善,许多加密强度较高的算法,Java6未能提供。Bouncy Castle就是对Oracle提供的算法进行了扩展,比如IDEA、MD4、Rijndael、Serpent、Twofish等算法。关于更多Bouncy Castle的知识,请Google之,下面介绍如何在JDK中配置它。
一、下载Bouncy Castle
来这里下载最新版:http://www.bouncycastle.org/latest_releases.html (目前最新版是146),主要下载这两个文件:bcprov-jdk16-146.jar、bcprov-ext-jdk16-146.jar,如下图:
二、配置Java.security
用记事本打开%JDK_Home%\ jre\lib\security\java.security文件,找到如下9行代码:
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI
在这9行之后添加如下两行代码:
#增加BouncyCastleProvider
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
保存Java.security文件。
同样修改%JRE_Home%\lib\security\java.security文件,加入以上两行,保存文件。
三、导入jar文件
分别复制bcprov-ext-jdk16-146.jar到"%JDK_Home%\jre\lib\ext"和"%JRE_Home%\lib\ext"目录下。
配置完成!