mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-23 11:56:00 +01:00
memory stored pinProtectedKey
This commit is contained in:
parent
530d0d2594
commit
eb0bc6a01c
2
jslib
2
jslib
@ -1 +1 @@
|
|||||||
Subproject commit 99d56d936fdebc99994ce5089e8f063729a2e0ec
|
Subproject commit b74ee7b3ee823a820854623cc32c8522a09e9f4d
|
@ -307,7 +307,6 @@ export default class MainBackground {
|
|||||||
this.lockService.clear(),
|
this.lockService.clear(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
this.lockService.pinLocked = false;
|
|
||||||
this.searchService.clearIndex();
|
this.searchService.clearIndex();
|
||||||
this.messagingService.send('doneLoggingOut', { expired: expired });
|
this.messagingService.send('doneLoggingOut', { expired: expired });
|
||||||
|
|
||||||
|
@ -142,16 +142,17 @@ export class SettingsComponent implements OnInit {
|
|||||||
masterPassOnRestart = (document.getElementById('master-pass-restart') as HTMLInputElement).checked;
|
masterPassOnRestart = (document.getElementById('master-pass-restart') as HTMLInputElement).checked;
|
||||||
}
|
}
|
||||||
if (pin != null && pin.trim() !== '') {
|
if (pin != null && pin.trim() !== '') {
|
||||||
|
const kdf = await this.userService.getKdf();
|
||||||
|
const kdfIterations = await this.userService.getKdfIterations();
|
||||||
|
const email = await this.userService.getEmail();
|
||||||
|
const pinKey = await this.cryptoService.makePinKey(pin, email, kdf, kdfIterations);
|
||||||
|
const key = await this.cryptoService.getKey();
|
||||||
|
const pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);
|
||||||
if (masterPassOnRestart) {
|
if (masterPassOnRestart) {
|
||||||
const encPin = await this.cryptoService.encrypt(pin);
|
const encPin = await this.cryptoService.encrypt(pin);
|
||||||
await this.storageService.save(ConstantsService.protectedPin, encPin.encryptedString);
|
await this.storageService.save(ConstantsService.protectedPin, encPin.encryptedString);
|
||||||
|
this.lockService.pinProtectedKey = pinProtectedKey;
|
||||||
} else {
|
} else {
|
||||||
const kdf = await this.userService.getKdf();
|
|
||||||
const kdfIterations = await this.userService.getKdfIterations();
|
|
||||||
const email = await this.userService.getEmail();
|
|
||||||
const pinKey = await this.cryptoService.makePinKey(pin, email, kdf, kdfIterations);
|
|
||||||
const key = await this.cryptoService.getKey();
|
|
||||||
const pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);
|
|
||||||
await this.storageService.save(ConstantsService.pinProtectedKey, pinProtectedKey.encryptedString);
|
await this.storageService.save(ConstantsService.pinProtectedKey, pinProtectedKey.encryptedString);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -159,8 +160,8 @@ export class SettingsComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!this.pin) {
|
if (!this.pin) {
|
||||||
await this.storageService.remove(ConstantsService.pinProtectedKey);
|
await this.cryptoService.clearPinProtectedKey();
|
||||||
await this.storageService.remove(ConstantsService.protectedPin);
|
await this.lockService.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user