From fa2e314c4fe98126996edf6fdae56c83d8f270b3 Mon Sep 17 00:00:00 2001 From: Bernd Schoolmann Date: Thu, 5 Jun 2025 15:18:02 +0200 Subject: [PATCH 1/2] Drop view if exists --- .../DbScripts/2025-06-01_00_AddSignatureKeyPairTable.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/util/Migrator/DbScripts/2025-06-01_00_AddSignatureKeyPairTable.sql b/util/Migrator/DbScripts/2025-06-01_00_AddSignatureKeyPairTable.sql index 748e0701cc..8cbc0074c3 100644 --- a/util/Migrator/DbScripts/2025-06-01_00_AddSignatureKeyPairTable.sql +++ b/util/Migrator/DbScripts/2025-06-01_00_AddSignatureKeyPairTable.sql @@ -11,6 +11,12 @@ CREATE TABLE [dbo].[UserSignatureKeyPair] ( ); GO +IF EXISTS(SELECT * FROM sys.views WHERE [Name] = 'UserSignatureKeyPairView') +BEGIN + DROP VIEW [dbo].[UserSignatureKeyPairView] +END +GO + CREATE VIEW [dbo].[UserSignatureKeyPairView] AS SELECT From a33bf793e10bdfc5ee23025696d2a3bc0d25f9d8 Mon Sep 17 00:00:00 2001 From: Bernd Schoolmann Date: Thu, 5 Jun 2025 16:24:14 +0200 Subject: [PATCH 2/2] Enable nullable --- .../KeyManagement/Models/Data/SignatureKeyPairData.cs | 10 ++++++++++ .../Repositories/UserSigningKeysRepository.cs | 11 +++++------ 2 files changed, 15 insertions(+), 6 deletions(-) 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