Merge "Add ability to install credentials as other UID"

This commit is contained in:
Kenny Root
2013-03-28 20:57:03 +00:00
committed by Gerrit Code Review

View File

@@ -197,12 +197,14 @@ public final class CredentialStorage extends Activity {
Bundle bundle = mInstallBundle; Bundle bundle = mInstallBundle;
mInstallBundle = null; mInstallBundle = null;
final int uid = bundle.getInt(Credentials.EXTRA_INSTALL_AS_UID, -1);
if (bundle.containsKey(Credentials.EXTRA_USER_PRIVATE_KEY_NAME)) { if (bundle.containsKey(Credentials.EXTRA_USER_PRIVATE_KEY_NAME)) {
String key = bundle.getString(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); byte[] value = bundle.getByteArray(Credentials.EXTRA_USER_PRIVATE_KEY_DATA);
if (!mKeyStore.importKey(key, value)) { if (!mKeyStore.importKey(key, value, uid)) {
Log.e(TAG, "Failed to install " + key); Log.e(TAG, "Failed to install " + key + " as user " + uid);
return; return;
} }
} }
@@ -211,8 +213,8 @@ public final class CredentialStorage extends Activity {
String certName = bundle.getString(Credentials.EXTRA_USER_CERTIFICATE_NAME); String certName = bundle.getString(Credentials.EXTRA_USER_CERTIFICATE_NAME);
byte[] certData = bundle.getByteArray(Credentials.EXTRA_USER_CERTIFICATE_DATA); byte[] certData = bundle.getByteArray(Credentials.EXTRA_USER_CERTIFICATE_DATA);
if (!mKeyStore.put(certName, certData)) { if (!mKeyStore.put(certName, certData, uid)) {
Log.e(TAG, "Failed to install " + certName); Log.e(TAG, "Failed to install " + certName + " as user " + uid);
return; return;
} }
} }
@@ -221,11 +223,10 @@ public final class CredentialStorage extends Activity {
String caListName = bundle.getString(Credentials.EXTRA_CA_CERTIFICATES_NAME); String caListName = bundle.getString(Credentials.EXTRA_CA_CERTIFICATES_NAME);
byte[] caListData = bundle.getByteArray(Credentials.EXTRA_CA_CERTIFICATES_DATA); byte[] caListData = bundle.getByteArray(Credentials.EXTRA_CA_CERTIFICATES_DATA);
if (!mKeyStore.put(caListName, caListData)) { if (!mKeyStore.put(caListName, caListData, uid)) {
Log.e(TAG, "Failed to install " + caListName); Log.e(TAG, "Failed to install " + caListName + " as user " + uid);
return; return;
} }
} }
setResult(RESULT_OK); setResult(RESULT_OK);