diff --git a/src/Core/KeyManagement/Models/Data/SignatureKeyPairData.cs b/src/Core/KeyManagement/Models/Data/SignatureKeyPairData.cs index d36809a017..af66468b1f 100644 --- a/src/Core/KeyManagement/Models/Data/SignatureKeyPairData.cs +++ b/src/Core/KeyManagement/Models/Data/SignatureKeyPairData.cs @@ -1,5 +1,6 @@ #nullable enable +using System.Text.Json.Serialization; using Bit.Core.Enums; namespace Bit.Core.KeyManagement.Models.Data; @@ -9,4 +10,13 @@ public class SignatureKeyPairData public required SignatureAlgorithm SignatureAlgorithm { get; set; } public required string WrappedSigningKey { get; set; } public required string VerifyingKey { get; set; } + + [JsonConstructor] + [System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute] + public SignatureKeyPairData(SignatureAlgorithm signatureAlgorithm, string wrappedSigningKey, string verifyingKey) + { + SignatureAlgorithm = signatureAlgorithm; + WrappedSigningKey = wrappedSigningKey ?? throw new ArgumentNullException(nameof(wrappedSigningKey)); + VerifyingKey = verifyingKey ?? throw new ArgumentNullException(nameof(verifyingKey)); + } } diff --git a/src/Infrastructure.EntityFramework/KeyManagement/Repositories/UserSigningKeysRepository.cs b/src/Infrastructure.EntityFramework/KeyManagement/Repositories/UserSigningKeysRepository.cs index 6be6f688fc..8cdc08d928 100644 --- a/src/Infrastructure.EntityFramework/KeyManagement/Repositories/UserSigningKeysRepository.cs +++ b/src/Infrastructure.EntityFramework/KeyManagement/Repositories/UserSigningKeysRepository.cs @@ -25,12 +25,11 @@ public class UserSignatureKeyPairRepository : Repository