mirror of
https://github.com/bitwarden/android.git
synced 2026-05-22 22:24:37 -05:00
* PM-115 Added new cipher key and encryption/decryption mechanisms on cipher * PM-115 fix format * PM-115 removed ForceKeyRotation from new cipher encryption model given that another approach will be taken * [PM-1690] Added minimum server version restriction to cipher key encryption (#2463) * PM-1690 added minimum server version restriction to cipher key encryption and also change the force key rotation flag * PM-1690 Updated min server version for new cipher encryption key and fixed configService registration * PM-1690 removed forcekeyrotation * PM-115 Temporarily Changed cipher key new encryption config to help testing (this change should be reseted eventually) * PM-2456 Fix attachment encryption on new cipher item encryption model (#2556) * PM-2531 Fix new cipher encryption on adding attachments on ciphers with no item level key (#2559) * PM-115 Changed temporarily cipher key encryption min server version to 2023.6.0 to test * PM-115 Reseted cipher key encryption minimum server version to 2023.5.0 and disable new cipher key on local cipher creation * Added Key value to the cipher export model (#2628) * Update Constants.cs Updated minimum encryption server version to 2023.9.0 so QA can test its behavior * PM-115 Fix file format * PM-115 Changed new encryption off and minimum new encryption server version to 2023.8.0 for testing purposes * PM-115 Changed CIpher key encryption minimum server version to 2023.9.0 * PM-3737 Remove suffix on client version sent to server (#2779) * PM-115 QA testing server min version and enable new cipher key encryption * PM-115 Disable new cipher encryption creation and change minimum server encryption version to 2023.9.1 --------- Co-authored-by: aj-rosado <109146700+aj-rosado@users.noreply.github.com>
57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Bit.Core.Models.Data;
|
|
using Bit.Core.Models.View;
|
|
|
|
namespace Bit.Core.Models.Domain
|
|
{
|
|
public class Fido2Key : Domain
|
|
{
|
|
public static HashSet<string> EncryptableProperties => new HashSet<string>
|
|
{
|
|
nameof(CredentialId),
|
|
nameof(Discoverable),
|
|
nameof(KeyType),
|
|
nameof(KeyAlgorithm),
|
|
nameof(KeyCurve),
|
|
nameof(KeyValue),
|
|
nameof(RpId),
|
|
nameof(RpName),
|
|
nameof(UserHandle),
|
|
nameof(UserName),
|
|
nameof(Counter)
|
|
};
|
|
|
|
public Fido2Key() { }
|
|
|
|
public Fido2Key(Fido2KeyData data, bool alreadyEncrypted = false)
|
|
{
|
|
BuildDomainModel(this, data, EncryptableProperties, alreadyEncrypted);
|
|
}
|
|
|
|
public EncString CredentialId { get; set; }
|
|
public EncString Discoverable { get; set; }
|
|
public EncString KeyType { get; set; }
|
|
public EncString KeyAlgorithm { get; set; }
|
|
public EncString KeyCurve { get; set; }
|
|
public EncString KeyValue { get; set; }
|
|
public EncString RpId { get; set; }
|
|
public EncString RpName { get; set; }
|
|
public EncString UserHandle { get; set; }
|
|
public EncString UserName { get; set; }
|
|
public EncString Counter { get; set; }
|
|
|
|
public async Task<Fido2KeyView> DecryptAsync(string orgId, SymmetricCryptoKey key = null)
|
|
{
|
|
return await DecryptObjAsync(new Fido2KeyView(), this, EncryptableProperties, orgId, key);
|
|
}
|
|
|
|
public Fido2KeyData ToFido2KeyData()
|
|
{
|
|
var data = new Fido2KeyData();
|
|
BuildDataModel(this, data, EncryptableProperties);
|
|
return data;
|
|
}
|
|
}
|
|
}
|