2012-01-24 89 views
1

我用下面的鱈魚在我的計劃,以字節轉換爲公共密鑰BouncyCastle的在Java中

Security.addProvider(new BouncyCastleProvider()); 
     X509EncodedKeySpec x509keyspec=new X509EncodedKeySpec(b); 


     KeyFactory keyfact=KeyFactory.getInstance("RSA","BC"); 
     Key pubkey=keyfact.generatePublic(x509keyspec); 

我已經進口「進口org.bouncycastle.jce.provider.BouncyCastleProvider;」 ,.

我已經加入Bouncycastle.jar文件到我的jre7/lib/ext目錄文件夾中,並通過添加以下行security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider 當我編譯代碼即時得到以下錯誤

Reverse.java:14: error: cannot find symbol 
import java.security.spec.x509EncodedKeySpecs; 
         ^
symbol: class x509EncodedKeySpecs 
location: package java.security.spec 

Reverse.java:16: error: package org.bouncycastle.jce.provider does not exist 
import org.bouncycastle.jce.provider.BouncyCastleProvider; 

Reverse.java:49: error: cannot find symbol 
Security.addProvider(new BouncyCastleProvider()); 
           ^
    symbol: class BouncyCastleProvider 
    location: class Reverse 
+0

我相信'java.security.spec.x509EncodedKeySpecs'應該是'java.security.spec.x509EncodedKeySpec'有一個錯字某處 –

回答

2

兩個問題作出JavaSecurity中文件的變化:

  • 該課程被命名爲X509EncodedKeySpec而不是x509EncodedKeySpecs。修復您的import聲明。
  • 當您編譯並運行您的代碼時,確保BouncyCastle JAR位於類路徑中。
+0

BouncyCastle.JAR是在C:程序文件/ jre7/lib/ext目錄文件夾中。仍然出現錯誤 – suraj

+0

將其放入JRE的lib/ext文件夾中並不意味着編譯程序時Java編譯器會自動將其選中。在編譯程序時確保它在類路徑中。 – Jesper

+0

Thanx tom and jesper。現在我得到只有一個錯誤 – suraj

相關問題