Added the use of DEK's for encryption of secrets. Both the KEK's and DEK's are stored in a way that you can have multiple key of which one is active. But the others are still available for decrypting. This allows for implementing key rotation. Co-authored-by: eelke <eelke@eelkeklein.nl> Co-authored-by: Eelke76 <31384324+Eelke76@users.noreply.github.com> Reviewed-on: #6
18 lines
No EOL
445 B
C#
18 lines
No EOL
445 B
C#
using IdentityShroud.Core.Contracts;
|
|
using IdentityShroud.Core.Security;
|
|
|
|
namespace IdentityShroud.TestUtils.Substitutes;
|
|
|
|
public class NullDataEncryptionService : IDataEncryptionService
|
|
{
|
|
public DekId KeyId { get; } = DekId.NewId();
|
|
public EncryptedValue Encrypt(ReadOnlySpan<byte> plain)
|
|
{
|
|
return new(KeyId, plain.ToArray());
|
|
}
|
|
|
|
public byte[] Decrypt(EncryptedValue input)
|
|
{
|
|
return input.Value;
|
|
}
|
|
} |