2012-01-24 3 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 папки/внутр и внес изменения в javasecurity файл, добавив следующую строку 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

две проблемы:

  • Класс указан X509EncodedKeySpec не x509EncodedKeySpecs. Исправьте заявление import.
  • Убедитесь, что BouncyCastle JAR находится на пути к классу при компиляции и запуске вашего кода.
+0

BouncyCastle.JAR находится в C: Program Files/jre7/Lib папки/внутр. Тем не менее, я получаю ошибки – suraj

+0

Ввод его в папку lib/ext JRE не означает, что компилятор Java автоматически подберет его при компиляции вашей программы. Убедитесь, что он находится в пути к классу при компиляции вашей программы. – Jesper

+0

Thanx tom и jesper. Теперь я получаю только одну ошибку – suraj

Смежные вопросы