Поддерживает ли андроид тип .jks keystore?
Я пытаюсь подключиться к серверу, используя keystore, которое предоставляется командой сервера.
При отправке вызова службы на сервер сначала я создал экземпляр KeyStore, используя следующий api
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
Возвращает тип хранилища ключей как "BKS".
Keystore, какая команда сервера отправлена, имеет тип ".jks" (somename.jks) Итак, я получаю исключение "Неверная версия хранилища ключей".
Я попытался передать "JKS" в getInstance() KeyStore следующим образом
KeyStore keystore = KeyStore.getInstance("JKS");
Но здесь я получаю исключение "реализация KeyStore JKS не найдена".
Вот фрагмент кода:
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream instream = mContext.getAssets().open("somename.jks");
try {
trustStore.load(instream, "password".toCharArray());
} finally {
try {
instream.close();
} catch(Exception ignore) {
}
}
Пожалуйста, помогите мне решить эту проблему.
Ответы
Ответ 1
Я думаю, что Android поддерживает только "BouncyCastle KeyStores (известный как BKS)...
Вы все еще можете использовать Portecle
Чтобы преобразовать его из JKS в BKS, он должен работать как шарм (по крайней мере, он работал на меня при попытке сохранить мой .CRT в формате BKS!;)
'only', здесь легко: p, иначе вам придется манипулировать материалами