1
0
mirror of https://github.com/bitwarden/desktop.git synced 2025-02-26 02:51:26 +01:00

Request biometrically secured stored key

This commit is contained in:
Matt Gibson 2021-06-07 17:16:45 -04:00
parent 29d538c3e6
commit 05e9419d65
2 changed files with 7 additions and 5 deletions

View File

@ -109,7 +109,6 @@ export class Main {
this.messagingMain.onMessage(message); this.messagingMain.onMessage(message);
}); });
this.keytarStorageListener = new KeytarStorageListener('Bitwarden');
if (process.platform === 'win32') { if (process.platform === 'win32') {
const BiometricWindowsMain = require('jslib-electron/biometric.windows.main').default; const BiometricWindowsMain = require('jslib-electron/biometric.windows.main').default;
@ -119,6 +118,8 @@ export class Main {
this.biometricMain = new BiometricDarwinMain(this.storageService, this.i18nService); this.biometricMain = new BiometricDarwinMain(this.storageService, this.i18nService);
} }
this.keytarStorageListener = new KeytarStorageListener('Bitwarden', this.biometricMain);
this.nativeMessagingMain = new NativeMessagingMain(this.logService, this.windowMain, app.getPath('userData'), app.getPath('exe')); this.nativeMessagingMain = new NativeMessagingMain(this.logService, this.windowMain, app.getPath('userData'), app.getPath('exe'));
} }

View File

@ -102,11 +102,12 @@ export class NativeMessagingService {
}); });
} }
const response = await this.platformUtilService.authenticateBiometric(); const keyB64 = await (await this.cryptoService.getKey('biometric')).keyB64;
if (response) {
this.send({command: 'biometricUnlock', response: 'unlocked', keyB64: (await this.cryptoService.getKey()).keyB64}, appId); if (keyB64 != null) {
this.send({ command: 'biometricUnlock', response: 'unlocked', keyB64: keyB64 }, appId);
} else { } else {
this.send({command: 'biometricUnlock', response: 'canceled'}, appId); this.send({ command: 'biometricUnlock', response: 'canceled' }, appId);
} }
break; break;