fix: don't re-encode public key when changing e2e password (#5174)
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
This commit is contained in:
parent
6a610a956f
commit
9f8799d729
|
@ -199,10 +199,16 @@ class Encryption {
|
||||||
|
|
||||||
// Encode the private key
|
// Encode the private key
|
||||||
const encodedPrivateKey = await this.encodePrivateKey(EJSON.stringify(privateKey), password, this.userId as string);
|
const encodedPrivateKey = await this.encodePrivateKey(EJSON.stringify(privateKey), password, this.userId as string);
|
||||||
|
|
||||||
|
// This public key is already encoded using EJSON.stringify in the `persistKeys` method
|
||||||
const publicKey = UserPreferences.getString(`${server}-${E2E_PUBLIC_KEY}`);
|
const publicKey = UserPreferences.getString(`${server}-${E2E_PUBLIC_KEY}`);
|
||||||
|
|
||||||
|
if (!publicKey) {
|
||||||
|
throw new Error('Public key not found in local storage, password not changed');
|
||||||
|
}
|
||||||
|
|
||||||
// Send the new keys to the server
|
// Send the new keys to the server
|
||||||
await Services.e2eSetUserPublicAndPrivateKeys(EJSON.stringify(publicKey), encodedPrivateKey);
|
await Services.e2eSetUserPublicAndPrivateKeys(publicKey, encodedPrivateKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
// get a encryption room instance
|
// get a encryption room instance
|
||||||
|
|
Loading…
Reference in New Issue