Skip to content

Commit 7533b24

Browse files
committed
Delete encrypted data before encryption key to prevent orphaned secrets
Mirrors the save ordering fix: on delete, remove the encrypted data first so a partial failure never leaves unrecoverable encrypted entries.
1 parent 431b2b4 commit 7533b24

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

rust/crates/cove-device/src/keychain.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ impl Keychain {
144144
let encryption_key_key = wallet_mnemonic_encryption_and_nonce_key_name(id);
145145
let key = wallet_mnemonic_key_name(id);
146146

147-
self.0.delete(encryption_key_key);
148-
self.0.delete(key)
147+
self.0.delete(key);
148+
self.0.delete(encryption_key_key)
149149
}
150150

151151
/// Saves a wallet's extended public key in the keychain
@@ -302,8 +302,8 @@ impl Keychain {
302302
let encryption_key_key = wallet_tap_signer_encryption_key_and_nonce_key_name(id);
303303
let backup_key = wallet_tap_signer_backup_key_name(id);
304304

305-
self.0.delete(encryption_key_key);
306-
self.0.delete(backup_key)
305+
self.0.delete(backup_key);
306+
self.0.delete(encryption_key_key)
307307
}
308308

309309
/// Deletes all items saved in the keychain for the given wallet id

0 commit comments

Comments
 (0)