Intereting Posts
Приостановить мелодию телефона во время разговора через текст в речь, а затем возобновить Как включить зависимости в проект градиента библиотеки Android? Фрагмент, заменяющий проблему анимации Org.json.JSONException: Конец ввода символа 0 Как оживить элементы RecyclerView, когда адаптер инициализирован (по порядку)? GetWidth () возвращает 0, если установлено android: layout_width = "match_parent" Отправка SMS на реальное тестовое устройство (не эмулятор) через экземпляр DDMS или эмулятора Получить список активных PendingIntents в AlarmManager Разные между папками android (bin, xbin, sbin) Есть ли графический обзор всех элементов Android GUI? Android отправляет множество SMS-сообщений Для Android SDK требуется Android Developer Toolkit версии 23.0.0 или выше Почему так много приложений для Android используют NDK? Android locationManager requestLocationUpdates не работает Pixel-пусковая установка продолжает останавливаться в эмуляторе Android 7.1.1 (API 25)

Создание ключей RSA в Android в формате PKCS # 1 на Android

Я пытаюсь создать открытый ключ RSA в форме PKCS # 1 в Android.

Здесь почти точный дубликат этого вопроса: Генерация ключей RSA в формате PKCS # 1 в Java

Однако автор не ответил на ответ. Я прошел ответы, но я не смог найти что-то, что работает. Я пришел к выводу (если у кого-то другого нет другого ответа), что это должно быть сделано с помощью Bouncy Castle. Единственная проблема, с которой я столкнулся с назойливым замком, фактически использует его в Android. Я, кажется, правильно импортировал банку (я говорю «кажется», потому что я никогда раньше этого не делал, но это был довольно безболезненный процесс, и я не получал ошибок в Eclipse), но затем я получаю сообщение об ошибке в log cat ,

03-25 22:25:58.780: E/AndroidRuntime(9171): java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider 

Solutions Collecting From Web of "Создание ключей RSA в Android в формате PKCS # 1 на Android"

Два возможных ответа.

Если вы хотите идти по пути, попробуйте это, чтобы разрешить NoClassDefFoundError . Android-приложение eclipse обновлено, и теперь приложение выходит из строя, когда оно пытается запустить

Вместо этого вы можете использовать JSch. У меня есть надёжная работа над андроидом. Закрепление шифрования RSA перед генерированием открытых / закрытых ключей

Изменить: Вот пример использования JSch для генерации клавиатур типа RSA. Я думаю, что это PKCS # 1, но я недостаточно знаком со стандартом. Соответствующий javadoc – это то, что я собираюсь.

 /** * Load or generate a RSA keypair to use as a client for the given JSch. */ public boolean registerKeyPair(JSch jSch) { new File(getRootFolder().getAbsolutePath() + "/.ssh").mkdirs(); File privateKey = new File(getRootFolder().getAbsolutePath() + "/.ssh/id_rsa"); File publicKey = new File(getRootFolder().getAbsolutePath() + "/.ssh/id_rsa.pub"); if (!privateKey.exists() || !publicKey.exists()) { try { KeyPair keyPair = KeyPair.genKeyPair(jSch, KeyPair.RSA); keyPair.writePrivateKey(privateKey.getAbsolutePath()); keyPair.writePublicKey(publicKey.getAbsolutePath(), "Machine Shop"); return true; } catch (JSchException e) { Log.e("genKeyPair(RSA)", Log.getStackTraceString(e)); } catch (FileNotFoundException e) { Log.e("genKeyPair(RSA)", Log.getStackTraceString(e)); } catch (IOException e) { Log.e("genKeyPair(RSA)", Log.getStackTraceString(e)); } return false; } try { jSch.addIdentity(privateKey.getAbsolutePath()); return true; } catch (JSchException e) { Log.w("jSch.addIdentity", Log.getStackTraceString(e)); return false; } } 

Изменить: Предположим, что Eclipse. Добавьте файл jar jar в свой путь сборки, желательно как локальную банку (скажем, в папке lib). Обязательно проверьте его на вкладке «Заказ и экспорт».

Обновите свой проект.