1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-15 15:53:44 +00:00

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

(cherry picked from commit 819aabb330)
This commit is contained in:
Jake Fink
2023-08-25 09:47:37 -04:00
committed by Todd Martin
parent f4899470d4
commit 8c58ed54ff

View File

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