From fa60147507593fc86ec55f62a86e541934c9b8a9 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Thu, 5 Dec 2024 12:12:56 +0100 Subject: [PATCH] refactor(RSAFactoryParams): Implementierung von IJsonOnDeserialized anstelle von Lazy Initialization. --- DigitalData.Core.Security/Config/RSAFactoryParams.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/DigitalData.Core.Security/Config/RSAFactoryParams.cs b/DigitalData.Core.Security/Config/RSAFactoryParams.cs index b03c122..7b1bd54 100644 --- a/DigitalData.Core.Security/Config/RSAFactoryParams.cs +++ b/DigitalData.Core.Security/Config/RSAFactoryParams.cs @@ -1,8 +1,9 @@ using System.Security.Cryptography; +using System.Text.Json.Serialization; namespace DigitalData.Core.Security.Config { - public class RSAFactoryParams + public class RSAFactoryParams : IJsonOnDeserialized { public int KeySizeInBits { get; init; } = 2048; @@ -16,11 +17,11 @@ namespace DigitalData.Core.Security.Config public string EncryptedPrivateKeyPemLabel { get; init; } = "ENCRYPTED PRIVATE KEY"; - private readonly Lazy _lazyPbeParameters; + private PbeParameters? _pbeParameters; - public PbeParameters PbeParameters => _lazyPbeParameters.Value; + [JsonIgnore] + public PbeParameters PbeParameters => _pbeParameters!; - public RSAFactoryParams() - => _lazyPbeParameters = new(() => new PbeParameters(PbeEncryptionAlgorithm, PbeHashAlgorithmName, PbeIterationCount)); + public void OnDeserialized() => _pbeParameters = new PbeParameters(PbeEncryptionAlgorithm, PbeHashAlgorithmName, PbeIterationCount); } } \ No newline at end of file