2012-04-06 6 views
0

Я разрабатываю безопасное многопартийное приложение, но у меня есть очень большой проблемой. Приложение работает через устройство BB и подключается к серверу java, работающему на ПК через сокеты, для обмена несколькими данными. На стороне BB я создаю RSAKeyPair и, очевидно, мне нужно отправить открытый ключ (RSAPublicKey) на сервер, чтобы он мог шифровать данные и так далее ... Но печально известная проблема в том, что я не могу отправить ключ, потому что нет потока, который обрабатывает криптографические объекты, такие как RSAPublicKey. Я пытался использовать ключ для другого типа (String, int и т. Д.), Но он не работает.Как обменять ключи RSA на Blackberry

Кто-нибудь может дать мне совет, пожалуйста?

ответ

0

Вызвать методы getE и getN, преобразовать эти байтовые массивы в строку в формате Base64 и отправить их на сервер. На сервере декодируются строки Base64 и вызывают конструктор, который получает E и N параметров.

Но отправка этого ключа по незашифрованному каналу - не очень хорошая идея. Рассмотрите возможность подключения HttpsConnection к серверу и используйте это безопасное соединение для передачи данных.

+0

Я пытался извлечь «экспоненту» и «модуль», но меня беспокоило, что «RSACryptoSystem», необходимый в конструкторе, может создать другой ключ по сравнению с orignal. Мне не нужен безопасный/частный канал, потому что одна из целей приложения - протестировать протокол против вредоносной стороны, и я думаю, что открытый ключ не нужно скрывать от третьих сторон (он общедоступен, каждый может получить его: D). Спасибо за ответ. – gioconno

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

  • Нет связанных вопросов^_^