From: Rubin Xu Date: Fri, 15 Sep 2017 10:56:53 +0000 (+0100) Subject: Delete synthetic password keystore keys when user is removed. X-Git-Tag: android-x86-9.0-r1~323^2~31^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2f22ee4d16c591b233423ef2940a657670ff3e65;p=android-x86%2Fframeworks-base.git Delete synthetic password keystore keys when user is removed. Bug: 65718620 Test: Add user, remove user, look at "adb shell su 1000 keystore_cli_v2 list" and make sure nothing remains. Change-Id: I2cf862c35117faed38fdfe5c43ceece4e8dbc3c4 --- diff --git a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java index ca6c9e78d0a2..1a1aa569b249 100644 --- a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java +++ b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java @@ -390,11 +390,9 @@ public class SyntheticPasswordManager { } public void removeUser(int userId) { - if (isWeaverAvailable()) { - for (long handle : mStorage.listSyntheticPasswordHandlesForUser(WEAVER_SLOT_NAME, - userId)) { - destroyWeaverSlot(handle, userId); - } + for (long handle : mStorage.listSyntheticPasswordHandlesForUser(SP_BLOB_NAME, userId)) { + destroyWeaverSlot(handle, userId); + destroySPBlobKey(getHandleName(handle)); } }