J2ME, Исключение при приведении из PemObject к AsymmetricKeyParameter с BouncyCastle - PullRequest
0 голосов
/ 22 августа 2011

мой вопрос на сегодня касается библиотеки шифрования BouncyCastle для J2ME, у меня есть некоторый код на C #, в котором я выполняю следующее приведение:

AsymmetricKeyParameter pubKey = (AsymmetricKeyParameter)pubReader.ReadObject();

это работает на C #В конце концов, однако, когда я делаю это в Java, я получаю сообщение о том, что pubReader не имеет метода ReadObject (), я изменил его на readObject (), все еще не существует, поэтому я продолжил поиск метода, который бывозвращая тип объекта, я только нашел readPemObject () следующим образом:

AsymmetricKeyParameter pubKey = (AsymmetricKeyParameter)pubReader.readPemObject();

Однако ... это когда я сталкиваюсь с большой проблемой, так как я не могу привести из PemObject к AsymmetricKeyParameterи в итоге возникает ошибка ...

вот большая часть кода, о котором идет речь:

PemReader pubReader = new PemReader(new StringReader(pubKey));      
AsymmetricKeyParameter nhe = (AsymmetricKeyParameter)pubReader.readPemObject();

Imported teste = new Imported();        
PemObject pobj = pubReader.readPemObject();

System.out.println("PemObject: " + pobj);
byte[] output = teste.Encrypt(holyshizzle.getBytes(), nhe);
System.out.println(new String(output));         
byte[] revvit = teste.Decrypt(output, (AsymmetricKeyParameter)blah.getPrivate());
System.out.println(new String(revvit));`

PS: класс Imported, где находится код шифрования / дешифрования, и все такоеработает нормально (проверил сгенерированные ключи), я пытаюсь сделать это с помощью готовых ключей шифрования

С уважением, Gonçalo Vieira

1 Ответ

1 голос
/ 22 августа 2011

Попробуйте заменить

AsymmetricKeyParameter nhe = (AsymmetricKeyParameter)pubReader.readPemObject();

с

AsymmetricKeyParameter nhe = PublicKeyFactory.createKey(pubReader.readPemObject().getContent());
...