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