在网上有一部分解决的方法是
1、修改以下两个文件
%JDK_Home%\jre\lib\security\java.security
%JRE_Home%\jre\lib\security\java.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
2、将bcprov-ext-jdk16-143.jar 放到
%JDK_Home%\jre\lib\ext
%JRE_Home%\jre\lib\ext
这个方法可行,但方法欠佳
我觉得下面的方法更具可行性:
1:maven(版本很关键,不说了,说多了都是泪😢)
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-ext-jdk15on</artifactId>
<version>1.64</version>
</dependency>
2、在加密类中加入静态块。
static{
try{
Security.addProvider(new BouncyCastleProvider());
}catch(Exception e){
e.printStackTrace();
}
}
才疏学浅 ,请多指教 !
参考:https://blog.csdn.net/yj1499945/article/details/79759330