1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-05 23:53:33 +00:00

don't clear key needed for bio/auto migration in pin migration (#2721)

This commit is contained in:
Jake Fink
2023-08-25 09:47:37 -04:00
committed by GitHub
parent 9c7ff853d7
commit 819aabb330

View File

@@ -1011,6 +1011,10 @@ namespace Bit.Core.Services
// Decrypt
var masterKey = new MasterKey(Convert.FromBase64String(oldKey));
var encryptedUserKey = await _stateService.GetEncKeyEncryptedAsync(userId);
if (encryptedUserKey == null)
{
return;
}
var userKey = await DecryptUserKeyWithMasterKeyAsync(
masterKey,
new EncString(encryptedUserKey),
@@ -1070,8 +1074,11 @@ namespace Bit.Core.Services
var encPin = await EncryptAsync(pin, userKey);
await _stateService.SetProtectedPinAsync(encPin.EncryptedString);
}
// Clear old key
await _stateService.SetEncKeyEncryptedAsync(null);
// Clear old key only if not needed for bio/auto migration
if (await _stateService.GetKeyEncryptedAsync() != null)
{
await _stateService.SetEncKeyEncryptedAsync(null);
}
return userKey;
}