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
17 lines
No EOL
489 B
C#
17 lines
No EOL
489 B
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using IdentityShroud.Core.Contracts;
|
|
using IdentityShroud.Core.Security;
|
|
|
|
namespace IdentityShroud.Core.Model;
|
|
|
|
[Table("client_secret")]
|
|
public class ClientSecret
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
public Guid ClientId { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public DateTime? RevokedAt { get; set; }
|
|
public required EncryptedValue Secret { get; set; }
|
|
} |