summaryrefslogtreecommitdiffstats
path: root/keystore/java/android/security/KeyStore.java
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2013-09-03 07:11:36 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-09-03 07:11:36 +0000
commit7adc233cf8f6f9e2a83a4549a9295d1a3933beab (patch)
treedecf9cbbc3a30573d9224902b7cf642dc97316d2 /keystore/java/android/security/KeyStore.java
parent6110d16b8dd08d276902d2c6d8e90562a3d3694d (diff)
parentf64386fc26efeb245fd90fabaa47b8c8bf9b4613 (diff)
downloadframeworks_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.java19
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;