refactor(IRSAFactory): Erstellt, um die Funktionalität von RSAFactory zu trennen

This commit is contained in:
Developer 02
2024-12-02 15:10:51 +01:00
parent a4b96c2f3e
commit f720ea9cd6
5 changed files with 38 additions and 30 deletions

View File

@@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging;
namespace DigitalData.Core.Security
{
public class AsymCryptService : RSAFactory, IAsymCryptService
public class AsymCryptService : RSAFactory, IAsymCryptService, IRSAFactory
{
private readonly IDictionary<string, IRSADecryptor> _decryptors;
@@ -11,7 +11,7 @@ namespace DigitalData.Core.Security
public Func<string, string, bool, Version?, string?, string> RSAKeyNameFormatter { get; }
public AsymCryptService(ILogger<AsymCryptService> logger, IDictionary<string, IRSADecryptor> decryptors, Func<string, string, bool, Version?, string?, string> rsaKeyNameFormatter) : base()
public AsymCryptService(IDictionary<string, IRSADecryptor> decryptors, Func<string, string, bool, Version?, string?, string> rsaKeyNameFormatter, ILogger<AsymCryptService>? logger = null) : base()
{
_decryptors = decryptors ?? new Dictionary<string, IRSADecryptor>();

View File

@@ -8,6 +8,7 @@ namespace DigitalData.Core.Security
{
public static IServiceCollection AddSecurity(this IServiceCollection services)
{
services.TryAddScoped<IRSAFactory>(sp => RSAFactory.Static);
services.TryAddScoped<IAsymCryptService, AsymCryptService>();
return services;

View File

@@ -4,7 +4,7 @@ using System.Text;
namespace DigitalData.Core.Security
{
public class RSAFactory
public class RSAFactory : IRSAFactory
{
private static readonly Lazy<RSAFactory> LazyInstance = new(() => new());