mirror of
https://github.com/bitwarden/android.git
synced 2024-12-27 03:18:27 +03:00
3cdf5ccd3b
* 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>
84 lines
2.8 KiB
C#
84 lines
2.8 KiB
C#
using System;
|
|
using System.Text;
|
|
using AutoFixture;
|
|
using Bit.Core.Models.Domain;
|
|
using Bit.Core.Models.View;
|
|
using Bit.Test.Common.AutoFixture;
|
|
using Bit.Test.Common.AutoFixture.Attributes;
|
|
|
|
namespace Bit.Core.Test.AutoFixture
|
|
|
|
{
|
|
internal class OrganizationCipher : ICustomization
|
|
{
|
|
public string OrganizationId { get; set; }
|
|
public void Customize(IFixture fixture)
|
|
{
|
|
fixture.Customize<Cipher>(composer => composer
|
|
.With(c => c.OrganizationId, OrganizationId ?? Guid.NewGuid().ToString()));
|
|
}
|
|
}
|
|
|
|
internal class UserCipher : ICustomization
|
|
{
|
|
public void Customize(IFixture fixture)
|
|
{
|
|
fixture.Customize<Cipher>(composer => composer
|
|
.Without(c => c.OrganizationId));
|
|
}
|
|
}
|
|
|
|
internal class UserCipherView : ICustomization
|
|
{
|
|
public void Customize(IFixture fixture)
|
|
{
|
|
byte[] getRandomBytes(int size)
|
|
{
|
|
Random random = new Random();
|
|
|
|
byte[] bytes = new byte[size];
|
|
random.NextBytes(bytes);
|
|
return bytes;
|
|
};
|
|
|
|
fixture.Customize<CipherView>(composer => composer
|
|
.Without(c => c.OrganizationId)
|
|
.Without(c => c.Attachments)
|
|
.With(c => c.Key, new SymmetricCryptoKey(getRandomBytes(32), Enums.EncryptionType.AesCbc128_HmacSha256_B64)));
|
|
}
|
|
}
|
|
|
|
internal class UserCipherAutoDataAttribute : CustomAutoDataAttribute
|
|
{
|
|
public UserCipherAutoDataAttribute() : base(new SutProviderCustomization(),
|
|
new UserCipher(), new UserCipherView())
|
|
{ }
|
|
}
|
|
internal class InlineUserCipherAutoDataAttribute : InlineCustomAutoDataAttribute
|
|
{
|
|
public InlineUserCipherAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization),
|
|
typeof(UserCipher), typeof(UserCipherView) }, values)
|
|
{ }
|
|
}
|
|
|
|
internal class InlineKnownUserCipherAutoDataAttribute : InlineCustomAutoDataAttribute
|
|
{
|
|
public InlineKnownUserCipherAutoDataAttribute(string userId, params object[] values) : base(new ICustomization[]
|
|
{ new SutProviderCustomization(), new UserCipher() }, values)
|
|
{ }
|
|
}
|
|
|
|
internal class OrganizationCipherAutoDataAttribute : CustomAutoDataAttribute
|
|
{
|
|
public OrganizationCipherAutoDataAttribute(string organizationId = null) : base(new SutProviderCustomization(),
|
|
new OrganizationCipher { OrganizationId = organizationId ?? null })
|
|
{ }
|
|
}
|
|
|
|
internal class InlineOrganizationCipherAutoDataAttribute : InlineCustomAutoDataAttribute
|
|
{
|
|
public InlineOrganizationCipherAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization),
|
|
typeof(OrganizationCipher) }, values)
|
|
{ }
|
|
}
|
|
}
|