diff --git a/apps/web/src/app/auth/settings/change-password.component.ts b/apps/web/src/app/auth/settings/change-password.component.ts index 454d96f2bde..fb428def9f1 100644 --- a/apps/web/src/app/auth/settings/change-password.component.ts +++ b/apps/web/src/app/auth/settings/change-password.component.ts @@ -165,7 +165,22 @@ export class ChangePasswordComponent extends BaseChangePasswordComponent { newMasterKey: MasterKey, newUserKey: [UserKey, EncString], ) { - const masterKey = await this.cryptoService.getOrDeriveMasterKey(this.currentMasterPassword); + const masterKey = await this.cryptoService.makeMasterKey( + this.currentMasterPassword, + await this.stateService.getEmail(), + await this.kdfConfigService.getKdfConfig(), + ); + + const userKey = await this.cryptoService.decryptUserKeyWithMasterKey(masterKey); + if (userKey == null) { + this.platformUtilsService.showToast( + "error", + null, + this.i18nService.t("invalidMasterPassword"), + ); + return; + } + const request = new PasswordRequest(); request.masterPasswordHash = await this.cryptoService.hashMasterKey( this.currentMasterPassword,