天天看點

下載下傳安裝Bouncy Castle 密碼包之靜态方法

靜态配置的方式

靜态配置方式是本地 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 表示安裝成功。如下圖:

下載下傳安裝Bouncy Castle 密碼包之靜态方法

即安裝成功。 

然而在我使用時,卻發現   org.bouncycastle.jce.provider.BouncyCastleProvider和 org.bouncycastle.util.encoders.Hex導不進去

于是我:

打開resource找到META-INF将bcprov-ext-jdk15on-161.jar和bcprov-jdk15on-161.jar粘貼到META-INF裡如下圖:

下載下傳安裝Bouncy Castle 密碼包之靜态方法

接着找到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

添加即可完成。如下圖:

下載下傳安裝Bouncy Castle 密碼包之靜态方法
下載下傳安裝Bouncy Castle 密碼包之靜态方法

 結束。