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:
@@ -34,7 +34,6 @@ import android.security.Credentials;
|
|||||||
import android.security.IKeyChainService;
|
import android.security.IKeyChainService;
|
||||||
import android.security.KeyChain;
|
import android.security.KeyChain;
|
||||||
import android.security.KeyChain.KeyChainConnection;
|
import android.security.KeyChain.KeyChainConnection;
|
||||||
import android.security.keystore.AndroidKeyStoreProvider;
|
|
||||||
import android.security.keystore.KeyProperties;
|
import android.security.keystore.KeyProperties;
|
||||||
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
|
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -74,6 +73,8 @@ public class UserCredentialsSettings extends SettingsPreferenceFragment
|
|||||||
implements View.OnClickListener {
|
implements View.OnClickListener {
|
||||||
private static final String TAG = "UserCredentialsSettings";
|
private static final String TAG = "UserCredentialsSettings";
|
||||||
|
|
||||||
|
private static final String KEYSTORE_PROVIDER = "AndroidKeyStore";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return SettingsEnums.USER_CREDENTIALS;
|
return SettingsEnums.USER_CREDENTIALS;
|
||||||
@@ -210,15 +211,10 @@ public class UserCredentialsSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private void deleteWifiCredential(final Credential credential) {
|
private void deleteWifiCredential(final Credential credential) {
|
||||||
try {
|
try {
|
||||||
KeyStore keyStore = null;
|
final KeyStore keyStore = KeyStore.getInstance(KEYSTORE_PROVIDER);
|
||||||
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
|
|
||||||
keyStore = KeyStore.getInstance("AndroidKeyStore");
|
|
||||||
keyStore.load(
|
keyStore.load(
|
||||||
new AndroidKeyStoreLoadStoreParameter(
|
new AndroidKeyStoreLoadStoreParameter(
|
||||||
KeyProperties.NAMESPACE_WIFI));
|
KeyProperties.NAMESPACE_WIFI));
|
||||||
} else {
|
|
||||||
keyStore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID);
|
|
||||||
}
|
|
||||||
keyStore.deleteEntry(credential.getAlias());
|
keyStore.deleteEntry(credential.getAlias());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException("Failed to delete keys from keystore.");
|
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);
|
final int wifiUid = UserHandle.getUid(myUserId, Process.WIFI_UID);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
KeyStore processKeystore = KeyStore.getInstance("AndroidKeyStore");
|
KeyStore processKeystore = KeyStore.getInstance(KEYSTORE_PROVIDER);
|
||||||
processKeystore.load(null);
|
processKeystore.load(null);
|
||||||
KeyStore wifiKeystore = null;
|
KeyStore wifiKeystore = null;
|
||||||
if (myUserId == 0) {
|
if (myUserId == 0) {
|
||||||
// Only the primary user may see wifi configurations.
|
wifiKeystore = KeyStore.getInstance(KEYSTORE_PROVIDER);
|
||||||
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
|
|
||||||
wifiKeystore = KeyStore.getInstance("AndroidKeyStore");
|
|
||||||
wifiKeystore.load(new AndroidKeyStoreLoadStoreParameter(
|
wifiKeystore.load(new AndroidKeyStoreLoadStoreParameter(
|
||||||
KeyProperties.NAMESPACE_WIFI));
|
KeyProperties.NAMESPACE_WIFI));
|
||||||
} else {
|
|
||||||
wifiKeystore = AndroidKeyStoreProvider.getKeyStoreForUid(Process.WIFI_UID);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Credential> credentials = new ArrayList<>();
|
List<Credential> credentials = new ArrayList<>();
|
||||||
|
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.utils;
|
package com.android.settings.utils;
|
||||||
|
|
||||||
import android.os.Process;
|
|
||||||
import android.security.keystore.AndroidKeyStoreProvider;
|
|
||||||
import android.security.keystore.KeyProperties;
|
import android.security.keystore.KeyProperties;
|
||||||
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
|
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -41,6 +39,8 @@ import java.util.Enumeration;
|
|||||||
public class AndroidKeystoreAliasLoader {
|
public class AndroidKeystoreAliasLoader {
|
||||||
private static final String TAG = "SettingsKeystoreUtils";
|
private static final String TAG = "SettingsKeystoreUtils";
|
||||||
|
|
||||||
|
private static final String KEYSTORE_PROVIDER = "AndroidKeyStore";
|
||||||
|
|
||||||
private final Collection<String> mKeyCertAliases;
|
private final Collection<String> mKeyCertAliases;
|
||||||
private final Collection<String> mCaCertAliases;
|
private final Collection<String> mCaCertAliases;
|
||||||
/**
|
/**
|
||||||
@@ -58,21 +58,13 @@ public class AndroidKeystoreAliasLoader {
|
|||||||
public AndroidKeystoreAliasLoader(Integer namespace) {
|
public AndroidKeystoreAliasLoader(Integer namespace) {
|
||||||
mKeyCertAliases = new ArrayList<>();
|
mKeyCertAliases = new ArrayList<>();
|
||||||
mCaCertAliases = new ArrayList<>();
|
mCaCertAliases = new ArrayList<>();
|
||||||
KeyStore keyStore = null;
|
final KeyStore keyStore;
|
||||||
final Enumeration<String> aliases;
|
final Enumeration<String> aliases;
|
||||||
try {
|
try {
|
||||||
|
keyStore = KeyStore.getInstance(KEYSTORE_PROVIDER);
|
||||||
if (namespace != null && namespace != KeyProperties.NAMESPACE_APPLICATION) {
|
if (namespace != null && namespace != KeyProperties.NAMESPACE_APPLICATION) {
|
||||||
if (AndroidKeyStoreProvider.isKeystore2Enabled()) {
|
|
||||||
keyStore = KeyStore.getInstance("AndroidKeyStore");
|
|
||||||
keyStore.load(new AndroidKeyStoreLoadStoreParameter(namespace));
|
keyStore.load(new AndroidKeyStoreLoadStoreParameter(namespace));
|
||||||
} else {
|
} 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);
|
keyStore.load(null);
|
||||||
}
|
}
|
||||||
aliases = keyStore.aliases();
|
aliases = keyStore.aliases();
|
||||||
|
Reference in New Issue
Block a user