Skip to content

Commit b9deea9

Browse files
committed
fix: reset keystore entries on wallet wipe
1 parent 2129d13 commit b9deea9

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

app/src/main/java/to/bitkit/data/keychain/AndroidKeyStore.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,10 @@ class AndroidKeyStore(
8080
val decryptedDataBytes = cipher.doFinal(actualEncryptedData)
8181
return decryptedDataBytes
8282
}
83+
84+
fun deleteEncryptionKey() {
85+
if (keyStore.containsAlias(alias)) {
86+
keyStore.deleteEntry(alias)
87+
}
88+
}
8389
}

app/src/main/java/to/bitkit/data/keychain/Keychain.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ class Keychain @Inject constructor(
9696
suspend fun wipe() {
9797
val keys = snapshot.asMap().keys
9898
keychain.edit { it.clear() }
99+
keyStore.deleteEncryptionKey()
100+
val count = keys.size
99101

100-
Logger.info("Deleted all keychain entries: ${keys.joinToString()}")
102+
Logger.info("Deleted keychain encryption key and all '$count' entries")
101103
}
102104

103105
private val String.indexed: Preferences.Key<String>

0 commit comments

Comments
 (0)