静态配置的方式
静态配置方式是本地 Java 环境中添加 Bouncy Castle 支持,需要使用到的 jar 包是bcprov-ext-jdk15on-161.jar。
下载地址:http://www.bouncycastle.org/latest_releases.html
找到bcprov-ext-jdk15on-161.jar点击下载即可。
(1)把bcprov-ext-jdk15on-161.jar添加到 java sdk 中。
java sdk 位置→C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext
(2)修改 security 配置文件 java.security →C:\Program Files\Java\jdk1.8.0_101\jre\lib\security
在 security 文件中找到以下部分:
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI
在后面添加:
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
(注意其中的序号根据自己 security 文件而定。)
检测安装是否成功,可以使用下面的简单程序进行:
public static void main(String[] args) {
Provider provider = Security.getProvider("BC");
System.out.println(provider);
}
若显示为 null 表示安装失败,若显示为 BC 表示安装成功。如下图:
即安装成功。
然而在我使用时,却发现 org.bouncycastle.jce.provider.BouncyCastleProvider和 org.bouncycastle.util.encoders.Hex导不进去
于是我:
打开resource找到META-INF将bcprov-ext-jdk15on-161.jar和bcprov-jdk15on-161.jar粘贴到META-INF里如下图:
接着找到Referenced Libraries右键, 找到Build Path->configure Build Path... 然后点击configure Build Path...;
找到并点击java Build Path->点击Libraries->点击Add JARs...
找到刚刚导进的bcprov-ext-jdk15on-161.jar和bcprov-jdk15on-161.jar
添加即可完成。如下图:
结束。