diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java index 5f72ca58423..80b97e4272a 100644 --- a/src/com/android/settings/UserCredentialsSettings.java +++ b/src/com/android/settings/UserCredentialsSettings.java @@ -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"); - keyStore.load( - new AndroidKeyStoreLoadStoreParameter( - KeyProperties.NAMESPACE_WIFI)); - } else { - keyStore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID); - } + final KeyStore keyStore = KeyStore.getInstance(KEYSTORE_PROVIDER); + keyStore.load( + new AndroidKeyStoreLoadStoreParameter( + KeyProperties.NAMESPACE_WIFI)); 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.load(new AndroidKeyStoreLoadStoreParameter( - KeyProperties.NAMESPACE_WIFI)); - } else { - wifiKeystore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID); - } + wifiKeystore = KeyStore.getInstance(KEYSTORE_PROVIDER); + wifiKeystore.load(new AndroidKeyStoreLoadStoreParameter( + KeyProperties.NAMESPACE_WIFI)); } List credentials = new ArrayList<>(); diff --git a/src/com/android/settings/utils/AndroidKeystoreAliasLoader.java b/src/com/android/settings/utils/AndroidKeystoreAliasLoader.java index e8eab68ee6a..dee58178d88 100644 --- a/src/com/android/settings/utils/AndroidKeystoreAliasLoader.java +++ b/src/com/android/settings/utils/AndroidKeystoreAliasLoader.java @@ -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 mKeyCertAliases; private final Collection 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 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); - } + keyStore.load(new AndroidKeyStoreLoadStoreParameter(namespace)); } else { - keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); } aliases = keyStore.aliases();