как сгенерить key в Keystore на основе полученного извне byte[]/String

159
14 февраля 2019, 16:30

Есть AES ключ в виде byte[] полученый с сервера. Нужно создать Key и положить его в Keystore, либо сгенерить ключ уже в KeyStore на основе этого масива.

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

Answer 1

Вы немножко неверно понимаете как работает KeyStore из KeyStore невозможно ни получить ни положить ключ. Ключ можно сгенерировать в нем и он там останется навсегда (вернее материал - байтовый массив ключа)

Once keys are in the keystore, they can be used for cryptographic operations with the key material remaining non-exportable.

В вашем случае паттерн действий прогера должен быть такой:

  1. Сгенерировать в KeyStore уникальные ключи (например RSA)
  2. Зашифровать полученными ключами ваш ключ от AES полученный от сервера
  3. И положить шифрованный ключ в преференсы в виде HEX/Base64 строки

Примеры здесь

READ ALSO
JAva + postresql запросы на объединение таблиц [закрыт]

JAva + postresql запросы на объединение таблиц [закрыт]

вот скажем у меня есть две таблицы product и type я открываю консоль sql и делаю запрос Вывести все продукты и их тип (но вывести все продукты у которых...

184
Работа с JobDispatcher

Работа с JobDispatcher

Всем привет, есть приложение в котором есть MyFbMessagingService наследующий FirebaseMessagingServiceВ манифесте прописано так:

180
Как создать лист в фрагменте, не создавая активность?

Как создать лист в фрагменте, не создавая активность?

Из главной активности в разметке вызываю

174
Поиск букв в строке (java)

Поиск букв в строке (java)

Пишу игрушку в которой надо угадать строку (название фильма) вводя отдельные буквы (игра типа "Поле чудес")Если введенная буква присутствует...

244