You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-23 17:02:25 +03:00
Fix resetEncryption to remove secrets in 4S (#4683)
* fix(crypto): `resetEncryption` remove secrets in 4S Remove the cross signing keys and the backup decryption key of the 4S when calling `resetEncryption` * test(crypto): expect secrets to be deleted in 4S when `resetEncryption` is called * test(secret storage): add test case when the secret is set at null * fix(crypto): remove default key in 4S * test(crypto): default key should be removed from 4S
This commit is contained in:
@@ -1508,6 +1508,15 @@ export class RustCrypto extends TypedEventEmitter<RustCryptoEvents, CryptoEventH
|
||||
// Disable backup, and delete all the backups from the server
|
||||
await this.backupManager.deleteAllKeyBackupVersions();
|
||||
|
||||
// Remove the stored secrets in the secret storage
|
||||
await this.secretStorage.store("m.cross_signing.master", null);
|
||||
await this.secretStorage.store("m.cross_signing.self_signing", null);
|
||||
await this.secretStorage.store("m.cross_signing.user_signing", null);
|
||||
await this.secretStorage.store("m.megolm_backup.v1", null);
|
||||
|
||||
// Remove the recovery key
|
||||
const defaultKeyId = await this.secretStorage.getDefaultKeyId();
|
||||
if (defaultKeyId) await this.secretStorage.store(`m.secret_storage.key.${defaultKeyId}`, null);
|
||||
// Disable the recovery key and the secret storage
|
||||
await this.secretStorage.setDefaultKeyId(null);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user