AndroidKeyStore który jest zazwyczaj wspierany sprzętowo (ale niekoniecznie) została formalnie wprowadzona w API poziomie 18, widać i jest opisany tutaj: http://developer.android.com/training/articles/keystore.html
Nikolay Elenkov napisał miłą aplikację do przetestowania AndroidKeyStore które można znaleźć tutaj: https://github.com/nelenkov/android-keystore
Istnieje kilka sztuczek, które można użyć, aby zmusić go do rodzaju pracy na poziomie API 17, jeśli zagłębisz się w AOSP, ale nie ma żadnej gwarancji będzie działać na każdym urządzeniu, więc jest to bezsensowne. Zdecydowanie nie będzie to działało wcześniej.
To naprawdę nie jest konieczne używanie AndroidKeyStore do przechowywania klucza prywatnego, chyba że jesteś super paranoikiem na temat bezpieczeństwa i żądasz, aby był on wspierany przez sprzęt lub w izolowanym procesie (proces przechowywania kluczy na urządzeniach nieobsługujących sprzętu).
Jeśli samodzielnie wygenerujesz parę kluczy w aplikacji i zapiszesz ją w pliku kluczy w obszarze danych, żadna inna aplikacja na Androida nie będzie w stanie odczytać klucza, który jest wystarczająco bezpieczny dla większości aplikacji. Można nawet zezwolić użytkownikowi na ochronę magazynu kluczy za pomocą wybranego przez siebie hasła.
Istnieją pewne dobre informacje na temat generowania pary kluczy w oprogramowaniu przy użyciu języka Java i Android można znaleźć tutaj:
Android RSA Keypair Generation - Should I use Standard Java/Bouncy Castle/Spongy Castle/JSch/Other?
https://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html
Zazwyczaj można znaleźć rzeczy, które trzeba w bibliotece wsparcia, ale go wygląda na to, że nie dodali tej klasy. https://developer.android.com/reference/android/support/v4/app/package-summary.html Niestety nie mam dla ciebie odpowiedzi. – nasch
Tak, też nie mogłem uwierzyć własnym oczom. –