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.keytarStorageListener = new KeytarStorageListener('Bitwarden');
if (process.platform === 'win32') {
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.keytarStorageListener = new KeytarStorageListener('Bitwarden', this.biometricMain);
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();
if (response) {
this.send({command: 'biometricUnlock', response: 'unlocked', keyB64: (await this.cryptoService.getKey()).keyB64}, appId);
const keyB64 = await (await this.cryptoService.getKey('biometric')).keyB64;
if (keyB64 != null) {
this.send({ command: 'biometricUnlock', response: 'unlocked', keyB64: keyB64 }, appId);
} else {
this.send({command: 'biometricUnlock', response: 'canceled'}, appId);
this.send({ command: 'biometricUnlock', response: 'canceled' }, appId);
}
break;