summaryrefslogtreecommitdiff
path: root/keystore/java/android/security/AndroidKeyStoreProvider.java
diff options
context:
space:
mode:
authorAlex Klyubin <klyubin@google.com>2015-01-14 13:35:32 -0800
committerAlex Klyubin <klyubin@google.com>2015-01-14 13:35:32 -0800
commit21a76df55cf4b956f4d34f57c7b9e694d0363f54 (patch)
tree8569f523ecf44e5c723718445306b49ad60c1299 /keystore/java/android/security/AndroidKeyStoreProvider.java
parent837261cc997cbb188de05e3d1194adb91cb75825 (diff)
Add KeyPairGenerator.EC backed by Android KeyStore.
The Android KeyStore backed KeyPairGenerator can generate EC key pairs, but it cannot be instantiated via the standard JCA approach of KeyPairGenerator.getInstance("EC", "AndroidKeyStore"). Instead, the user must invoke KeyPairGenerator.getInstance("RSA", "AndroidKeyStore") and then tell it to generate an EC key pair. This CL fixes this weirdness. The fix requires the introduction of late resolution of key algorithm and default key size. Prior to this CL, these parameters were resolved prior to KeyPairGenerator initialization, inside KeyPairGeneratorSpec. In this CL, these parameters are resolved during KeyPairGenerator initialization. This is fine because KeyPairGeneratorSpec should be as dumb as possible and all the logic should reside in KeyPairGenerator and lower layers. Bug: 19018089 Change-Id: I114502356e6c9691518cf05b6d9eb0920b4fe0b2
Diffstat (limited to 'keystore/java/android/security/AndroidKeyStoreProvider.java')
-rw-r--r--keystore/java/android/security/AndroidKeyStoreProvider.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/keystore/java/android/security/AndroidKeyStoreProvider.java b/keystore/java/android/security/AndroidKeyStoreProvider.java
index b17e450df216..9081e92006b5 100644
--- a/keystore/java/android/security/AndroidKeyStoreProvider.java
+++ b/keystore/java/android/security/AndroidKeyStoreProvider.java
@@ -33,6 +33,7 @@ public class AndroidKeyStoreProvider extends Provider {
put("KeyStore." + AndroidKeyStore.NAME, AndroidKeyStore.class.getName());
// java.security.KeyPairGenerator
- put("KeyPairGenerator.RSA", AndroidKeyPairGenerator.class.getName());
+ put("KeyPairGenerator.EC", AndroidKeyPairGenerator.EC.class.getName());
+ put("KeyPairGenerator.RSA", AndroidKeyPairGenerator.RSA.class.getName());
}
}