Android KeyStore provider
In Android 4.3, a new facility was added to allow apps to save private encryption keys in a system KeyStore . Called Android KeyStore, it restricts access only to the app that created them, and it was secured using the device pin code.
Specifically, the Android KeyStore is a certificate store, and so only public/private keys can be stored. Currently, arbitrary symmetric keys such as an AES key cannot be stored. In Android 4.4, the Elliptic Curve Digital Signature Algorithm (ECDSA) support was added to the Android KeyStore. This recipe discusses how to generate a new key, and save and fetch it from the Android KeyStore.
Getting ready
As this feature was only added in Android 4.3, ensure that the minimum SDK version in the Android manifest file is set to 18
.
How to do it...
Let's get started.
Create a handle on your app's KeyStore:
public static final String ANDROID_KEYSTORE = "AndroidKeyStore"; public void loadKeyStore() { try { keyStore = KeyStore.getInstance...