diff options
author | Kenny Root <kroot@google.com> | 2013-09-03 07:11:36 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-09-03 07:11:36 +0000 |
commit | 7adc233cf8f6f9e2a83a4549a9295d1a3933beab (patch) | |
tree | decf9cbbc3a30573d9224902b7cf642dc97316d2 /keystore/java/android/security/KeyStore.java | |
parent | 6110d16b8dd08d276902d2c6d8e90562a3d3694d (diff) | |
parent | f64386fc26efeb245fd90fabaa47b8c8bf9b4613 (diff) | |
download | frameworks_base-7adc233cf8f6f9e2a83a4549a9295d1a3933beab.zip frameworks_base-7adc233cf8f6f9e2a83a4549a9295d1a3933beab.tar.gz frameworks_base-7adc233cf8f6f9e2a83a4549a9295d1a3933beab.tar.bz2 |
Merge "Add support for DSA and ECDSA key types"
Diffstat (limited to 'keystore/java/android/security/KeyStore.java')
-rw-r--r-- | keystore/java/android/security/KeyStore.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/keystore/java/android/security/KeyStore.java b/keystore/java/android/security/KeyStore.java index fb5e039..9babb94 100644 --- a/keystore/java/android/security/KeyStore.java +++ b/keystore/java/android/security/KeyStore.java @@ -16,6 +16,8 @@ package android.security; +import com.android.org.conscrypt.NativeCrypto; + import android.os.RemoteException; import android.os.ServiceManager; import android.util.Log; @@ -64,6 +66,18 @@ public class KeyStore { return new KeyStore(keystore); } + static int getKeyTypeForAlgorithm(String keyType) throws IllegalArgumentException { + if ("RSA".equalsIgnoreCase(keyType)) { + return NativeCrypto.EVP_PKEY_RSA; + } else if ("DSA".equalsIgnoreCase(keyType)) { + return NativeCrypto.EVP_PKEY_DSA; + } else if ("EC".equalsIgnoreCase(keyType)) { + return NativeCrypto.EVP_PKEY_EC; + } else { + throw new IllegalArgumentException("Unsupported key type: " + keyType); + } + } + public State state() { final int ret; try { @@ -188,9 +202,10 @@ public class KeyStore { } } - public boolean generate(String key, int uid, int flags) { + public boolean generate(String key, int uid, int keyType, int keySize, int flags, + byte[][] args) { try { - return mBinder.generate(key, uid, flags) == NO_ERROR; + return mBinder.generate(key, uid, keyType, keySize, flags, args) == NO_ERROR; } catch (RemoteException e) { Log.w(TAG, "Cannot connect to keystore", e); return false; |