From 4e45d392ada4e84fbeed06874caebfd3c7759073 Mon Sep 17 00:00:00 2001 From: Hung-ying Tyan Date: Sun, 5 Jul 2009 02:45:26 +0800 Subject: [PATCH] Add certificate to keystore for the ADD intent --- res/values/strings.xml | 1 + src/com/android/settings/SecuritySettings.java | 27 +++++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 13e154bfe6..64cc5003ae 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1991,6 +1991,7 @@ found in the list of installed applications. Credential storage is enabled. %s is added. + Failed to add %s. Emergency tone diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index b5efaada3a..4e77d6b3c1 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -80,9 +80,9 @@ public class SecuritySettings extends PreferenceActivity implements private static final String LOCATION_GPS = "location_gps"; // Credential storage - private static final String ACTION_ADD_CREDENTIAL = + public static final String ACTION_ADD_CREDENTIAL = "android.security.ADD_CREDENTIAL"; - private static final String ACTION_UNLOCK_CREDENTIAL_STORAGE = + public static final String ACTION_UNLOCK_CREDENTIAL_STORAGE = "android.security.UNLOCK_CREDENTIAL_STORAGE"; private static final String KEY_CSTOR_TYPE_NAME = "typeName"; private static final String KEY_CSTOR_ITEM = "item"; @@ -514,7 +514,10 @@ public class SecuritySettings extends PreferenceActivity implements } private void addCredential() { - String message = String.format(getString(R.string.cstor_is_added), + String formatString = mCstorAddCredentialHelper.saveToStorage() < 0 + ? getString(R.string.cstor_add_error) + : getString(R.string.cstor_is_added); + String message = String.format(formatString, mCstorAddCredentialHelper.getName()); Toast.makeText(SecuritySettings.this, message, Toast.LENGTH_SHORT) .show(); @@ -865,14 +868,6 @@ public class SecuritySettings extends PreferenceActivity implements return mTypeName; } - byte[] getItem(int i) { - return mItemList.get(i); - } - - String getNamespace(int i) { - return mNamespaceList.get(i); - } - CharSequence getDescription() { return Html.fromHtml(mDescription); } @@ -885,6 +880,16 @@ public class SecuritySettings extends PreferenceActivity implements return mName; } + int saveToStorage() { + Keystore ks = Keystore.getInstance(); + for (int i = 0, count = mItemList.size(); i < count; i++) { + byte[] blob = mItemList.get(i); + int ret = ks.put(mNamespaceList.get(i), mName, new String(blob)); + if (ret < 0) return ret; + } + return 0; + } + private void parse(Intent intent) { mTypeName = intent.getStringExtra(KEY_CSTOR_TYPE_NAME); mItemList = new ArrayList(); -- 2.11.0