1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-27 12:36:14 +01:00

check storage for user key if missing in memory

This commit is contained in:
Jacob Fink 2023-06-26 10:18:33 -04:00
parent 817b491fb6
commit 167f404f91
No known key found for this signature in database
GPG Key ID: C2F7ACF05859D008

View File

@ -12,6 +12,7 @@ import {
EmergencyAccessGranteeDetailsResponse,
EmergencyAccessGrantorDetailsResponse,
} from "@bitwarden/common/auth/models/response/emergency-access.response";
import { KeySuffixOptions } from "@bitwarden/common/enums";
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
@ -302,7 +303,11 @@ export class EmergencyAccessComponent implements OnInit {
// Encrypt the user key with the grantees public key, and send it to bitwarden for escrow.
private async doConfirmation(details: EmergencyAccessGranteeDetailsResponse) {
const userKey = await this.cryptoService.getUserKeyFromMemory();
let userKey = await this.cryptoService.getUserKeyFromMemory();
userKey ||= await this.cryptoService.getUserKeyFromStorage(KeySuffixOptions.Auto);
if (!userKey) {
throw new Error("No user key found");
}
const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);
const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);