Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7aa99fe9 authored by Janis Danisevskis's avatar Janis Danisevskis Committed by Gerrit Code Review
Browse files

Merge "Keystore 2.0: Remove references to Keystore 1.0"

parents 5292baf8 75a91836
Loading
Loading
Loading
Loading
+10 −19
Original line number Diff line number Diff line
@@ -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<>();
+5 −13
Original line number Diff line number Diff line
@@ -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();