summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2013-03-28 11:05:19 -0700
committerKenny Root <kroot@google.com>2013-03-28 11:35:24 -0700
commit7422474c72b05517287fb0c226d1170cb11a064d (patch)
treebc7b75ec035cc0075836193e5fc053c1aead9b1d /src/com/android
parent74fd506bba9643221479ba11ae56a6657ed48279 (diff)
downloadpackages_apps_Settings-7422474c72b05517287fb0c226d1170cb11a064d.zip
packages_apps_Settings-7422474c72b05517287fb0c226d1170cb11a064d.tar.gz
packages_apps_Settings-7422474c72b05517287fb0c226d1170cb11a064d.tar.bz2
Add ability to install credentials as other UID
We need the ability to install from the system UID to wifi UID to explicitly bind WiFi credentials to the WiFi profile. This adds the ability for Wifi Settings to invoke installation of a PKCS12 file for the wifi UID. Bug: 8183258 Change-Id: I357c4387baf7e2f6fd6acc9046d9e6b52fdd4bb0
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/settings/CredentialStorage.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java
index c737c7d..1444a73 100644
--- a/src/com/android/settings/CredentialStorage.java
+++ b/src/com/android/settings/CredentialStorage.java
@@ -197,12 +197,14 @@ public final class CredentialStorage extends Activity {
Bundle bundle = mInstallBundle;
mInstallBundle = null;
+ final int uid = bundle.getInt(Credentials.EXTRA_INSTALL_AS_UID, -1);
+
if (bundle.containsKey(Credentials.EXTRA_USER_PRIVATE_KEY_NAME)) {
String key = bundle.getString(Credentials.EXTRA_USER_PRIVATE_KEY_NAME);
byte[] value = bundle.getByteArray(Credentials.EXTRA_USER_PRIVATE_KEY_DATA);
- if (!mKeyStore.importKey(key, value)) {
- Log.e(TAG, "Failed to install " + key);
+ if (!mKeyStore.importKey(key, value, uid)) {
+ Log.e(TAG, "Failed to install " + key + " as user " + uid);
return;
}
}
@@ -211,8 +213,8 @@ public final class CredentialStorage extends Activity {
String certName = bundle.getString(Credentials.EXTRA_USER_CERTIFICATE_NAME);
byte[] certData = bundle.getByteArray(Credentials.EXTRA_USER_CERTIFICATE_DATA);
- if (!mKeyStore.put(certName, certData)) {
- Log.e(TAG, "Failed to install " + certName);
+ if (!mKeyStore.put(certName, certData, uid)) {
+ Log.e(TAG, "Failed to install " + certName + " as user " + uid);
return;
}
}
@@ -221,11 +223,10 @@ public final class CredentialStorage extends Activity {
String caListName = bundle.getString(Credentials.EXTRA_CA_CERTIFICATES_NAME);
byte[] caListData = bundle.getByteArray(Credentials.EXTRA_CA_CERTIFICATES_DATA);
- if (!mKeyStore.put(caListName, caListData)) {
- Log.e(TAG, "Failed to install " + caListName);
+ if (!mKeyStore.put(caListName, caListData, uid)) {
+ Log.e(TAG, "Failed to install " + caListName + " as user " + uid);
return;
}
-
}
setResult(RESULT_OK);