2014-09-15 3 views
3

Согласно Надувной замок документации, есть три реализации KeyStore:Могу ли я использовать Bouncy Castle Keystore.UBER на Android?

Пакет Надувной Замок имеет три реализацию хранилища ключей.

Первый «BKS» - хранилище ключей, которое будет работать с клавишами в , так же, как и хранилище ключей «JKS» Солнца. Хранилище хранилища сопротивляется , но не проверяется.

> Во-вторых, Keystore.BouncyCastle или Keystore.UBER будет работать только с Keytool, если пароль указан в командной строке, как весь хранилище ключей зашифрован с РВЕ на основе SHA1 и Twofish. PBEWithSHAAndTwofish-CBC. Это делает весь хранилище цепей стойким к несанкционированным вмешательствам и проверке. Sun JDK при условии, что keytool попытается загрузить хранилище ключей, даже если пароль не указан , это невозможно для этой версии. (Можно подумать о том, что подходит ко всем этим неприятностям, а затем имеет пароль по команде line! Новый клавишный кто-нибудь?).

В первом случае ключи зашифровываются с помощью 3-Key-TripleDES.

Третий - это хранилище ключей, совместимое с PKCS12. PKCS12 предоставляет небольшую другую ситуацию из обычного хранилища ключей, пароль хранилища ключей в настоящее время является единственным паролем, используемым для хранения ключей. В противном случае он поддерживает все функции, необходимые для использования с клавишами . В некоторых ситуациях в других библиотеках всегда ожидаются , касающиеся сертификатов Sun, если это используется PKCS12-DEF и , сертификаты, создаваемые хранилищем ключей, будут производиться с использованием поставщика по умолчанию . В случае по умолчанию PKCS12 использует 3DES для защиты ключа и 40 бит RC2 для защиты сертификатов. Также можно использовать 3DES для использования с помощью PKCS12-3DES-3DES или PKCS12-DEF-3DES-3DES в качестве типа KeyStore.

Я не могу найти интересную информацию об этом в Интернете, похоже, никто ее не использует.

Is можно использовать Keystore.BouncyCastle или Keystore.UBER на Android? Как получить экземпляр? KeyStore.getInstance("UBER","BC");? Он хорошо работает со всеми версиями Android?

+0

Все, что я знаю об этом, это то, что на устройствах Android рекомендуется использовать SpongyCastle вместо BouncyCastle, потому что у Android есть своя библиотека BouncyCastle, и это может помешать работе вашего приложения. – EpicPandaForce

ответ

3

Да, он может быть использован, получить экземпляр по:

KeyStore.getInstance("UBER", "SC"); 

В обычном коде Java, он должен быть «BC» (BouncyCastle) поставщик здесь, однако на Android SpongyCastle используется, поэтому мы должны поставить Здесь «SC».

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