Merge "Keystore 2.0: Remove references to Keystore 1.0" am: 7aa99fe966 am: c90b511239 am: a308ea1915

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1624590

Change-Id: I49cad17eab31b7531cb710915cbc57accd894598
This commit is contained in:
Janis Danisevskis
2021-03-23 14:10:20 +00:00
committed by Automerger Merge Worker
2 changed files with 15 additions and 32 deletions

View File

@@ -34,7 +34,6 @@ import android.security.Credentials;
import android.security.IKeyChainService;
import android.security.KeyChain;
import android.security.KeyChain.KeyChainConnection;
import android.security.keystore.AndroidKeyStoreProvider;
import android.security.keystore.KeyProperties;
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
import android.util.Log;
@@ -74,6 +73,8 @@ public class UserCredentialsSettings extends SettingsPreferenceFragment
implements View.OnClickListener {
private static final String TAG = "UserCredentialsSettings";
private static final String KEYSTORE_PROVIDER = "AndroidKeyStore";
@Override
public int getMetricsCategory() {
return SettingsEnums.USER_CREDENTIALS;
@@ -210,15 +211,10 @@ public class UserCredentialsSettings extends SettingsPreferenceFragment
private void deleteWifiCredential(final Credential credential) {
try {
KeyStore keyStore = null;
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
keyStore = KeyStore.getInstance("AndroidKeyStore");
final KeyStore keyStore = KeyStore.getInstance(KEYSTORE_PROVIDER);
keyStore.load(
new AndroidKeyStoreLoadStoreParameter(
KeyProperties.NAMESPACE_WIFI));
} else {
keyStore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID);
}
keyStore.deleteEntry(credential.getAlias());
} catch (Exception e) {
throw new RuntimeException("Failed to delete keys from keystore.");
@@ -278,18 +274,13 @@ public class UserCredentialsSettings extends SettingsPreferenceFragment
final int wifiUid = UserHandle.getUid(myUserId, Process.WIFI_UID);
try {
KeyStore processKeystore = KeyStore.getInstance("AndroidKeyStore");
KeyStore processKeystore = KeyStore.getInstance(KEYSTORE_PROVIDER);
processKeystore.load(null);
KeyStore wifiKeystore = null;
if (myUserId == 0) {
// Only the primary user may see wifi configurations.
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
wifiKeystore = KeyStore.getInstance("AndroidKeyStore");
wifiKeystore = KeyStore.getInstance(KEYSTORE_PROVIDER);
wifiKeystore.load(new AndroidKeyStoreLoadStoreParameter(
KeyProperties.NAMESPACE_WIFI));
} else {
wifiKeystore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID);
}
}
List<Credential> credentials = new ArrayList<>();

View File

@@ -16,8 +16,6 @@
package com.android.settings.utils;
import android.os.Process;
import android.security.keystore.AndroidKeyStoreProvider;
import android.security.keystore.KeyProperties;
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
import android.util.Log;
@@ -41,6 +39,8 @@ import java.util.Enumeration;
public class AndroidKeystoreAliasLoader {
private static final String TAG = "SettingsKeystoreUtils";
private static final String KEYSTORE_PROVIDER = "AndroidKeyStore";
private final Collection<String> mKeyCertAliases;
private final Collection<String> mCaCertAliases;
/**
@@ -58,21 +58,13 @@ public class AndroidKeystoreAliasLoader {
public AndroidKeystoreAliasLoader(Integer namespace) {
mKeyCertAliases = new ArrayList<>();
mCaCertAliases = new ArrayList<>();
KeyStore keyStore = null;
final KeyStore keyStore;
final Enumeration<String> aliases;
try {
keyStore = KeyStore.getInstance(KEYSTORE_PROVIDER);
if (namespace != null && namespace != KeyProperties.NAMESPACE_APPLICATION) {
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(new AndroidKeyStoreLoadStoreParameter(namespace));
} else {
// In the legacy case we pass in the WIFI UID because that is the only
// possible special namespace that existed as of this writing,
// and new namespaces must only be added using the new mechanism.
keyStore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID);
}
} else {
keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
}
aliases = keyStore.aliases();