refactor(RSAFactoryParams): Implementierung von IJsonOnDeserialized anstelle von Lazy Initialization.

This commit is contained in:
Developer 02 2024-12-05 12:12:56 +01:00
parent e9d408a717
commit fa60147507

View File

@ -1,8 +1,9 @@
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text.Json.Serialization;
namespace DigitalData.Core.Security.Config namespace DigitalData.Core.Security.Config
{ {
public class RSAFactoryParams public class RSAFactoryParams : IJsonOnDeserialized
{ {
public int KeySizeInBits { get; init; } = 2048; public int KeySizeInBits { get; init; } = 2048;
@ -16,11 +17,11 @@ namespace DigitalData.Core.Security.Config
public string EncryptedPrivateKeyPemLabel { get; init; } = "ENCRYPTED PRIVATE KEY"; public string EncryptedPrivateKeyPemLabel { get; init; } = "ENCRYPTED PRIVATE KEY";
private readonly Lazy<PbeParameters> _lazyPbeParameters; private PbeParameters? _pbeParameters;
public PbeParameters PbeParameters => _lazyPbeParameters.Value; [JsonIgnore]
public PbeParameters PbeParameters => _pbeParameters!;
public RSAFactoryParams() public void OnDeserialized() => _pbeParameters = new PbeParameters(PbeEncryptionAlgorithm, PbeHashAlgorithmName, PbeIterationCount);
=> _lazyPbeParameters = new(() => new PbeParameters(PbeEncryptionAlgorithm, PbeHashAlgorithmName, PbeIterationCount));
} }
} }