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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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
// Clear old key only if not needed for bio/auto migration
if (await _stateService.GetKeyEncryptedAsync() != null)
{
await _stateService.SetEncKeyEncryptedAsync(null);
}
return userKey;
}