No such provider: BC : 問題解決

在網上有一部分解決的方法是

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章