Поддерживает ли андроид тип .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, иначе вам придется манипулировать материалами