From c6a4038eabac9deb656a48b152f91c0d75864004 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 16 Dec 2024 10:24:19 +0100 Subject: [PATCH] refactor: Umbenennung von Core.Security.Extensions in Core.Extension --- .../DigitalData.Core.Extensions.csproj | 9 +++ .../StringExtensions.cs | 4 +- ...igitalData.Core.Security.Extensions.csproj | 13 ---- .../RSAExtensions.cs | 60 ------------------- .../Cryptographer/RSADecryptor.cs | 2 +- .../Cryptographer/RSAEncryptor.cs | 2 +- .../DigitalData.Core.Security.csproj | 2 +- DigitalData.Core.sln | 12 ++-- 8 files changed, 20 insertions(+), 84 deletions(-) create mode 100644 DigitalData.Core.Extensions/DigitalData.Core.Extensions.csproj rename DigitalData.Core.Security.Extensions/Extensions.cs => DigitalData.Core.Extensions/StringExtensions.cs (83%) delete mode 100644 DigitalData.Core.Security.Extensions/DigitalData.Core.Security.Extensions.csproj delete mode 100644 DigitalData.Core.Security.Extensions/RSAExtensions.cs diff --git a/DigitalData.Core.Extensions/DigitalData.Core.Extensions.csproj b/DigitalData.Core.Extensions/DigitalData.Core.Extensions.csproj new file mode 100644 index 0000000..2ba11d7 --- /dev/null +++ b/DigitalData.Core.Extensions/DigitalData.Core.Extensions.csproj @@ -0,0 +1,9 @@ + + + + net7.0;net8.0 + enable + enable + + + diff --git a/DigitalData.Core.Security.Extensions/Extensions.cs b/DigitalData.Core.Extensions/StringExtensions.cs similarity index 83% rename from DigitalData.Core.Security.Extensions/Extensions.cs rename to DigitalData.Core.Extensions/StringExtensions.cs index 88d3714..db60d4d 100644 --- a/DigitalData.Core.Security.Extensions/Extensions.cs +++ b/DigitalData.Core.Extensions/StringExtensions.cs @@ -1,6 +1,6 @@ -namespace DigitalData.Core.Security.Extensions +namespace DigitalData.Core.Extensions { - public static class Extensions + public static class StringExtensions { public static string ToBase64String(this byte[] bytes) => Convert.ToBase64String(bytes); diff --git a/DigitalData.Core.Security.Extensions/DigitalData.Core.Security.Extensions.csproj b/DigitalData.Core.Security.Extensions/DigitalData.Core.Security.Extensions.csproj deleted file mode 100644 index b3d5f11..0000000 --- a/DigitalData.Core.Security.Extensions/DigitalData.Core.Security.Extensions.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - net7.0;net8.0 - enable - enable - - - - - - - diff --git a/DigitalData.Core.Security.Extensions/RSAExtensions.cs b/DigitalData.Core.Security.Extensions/RSAExtensions.cs deleted file mode 100644 index 47dcef5..0000000 --- a/DigitalData.Core.Security.Extensions/RSAExtensions.cs +++ /dev/null @@ -1,60 +0,0 @@ -using DigitalData.Core.Abstractions.Security; -using System.Collections.Concurrent; -using System.Security.Cryptography; - -namespace DigitalData.Core.Security.Extensions -{ - public static class RSAExtensions - { - public static RSA ToRSA(this string pem) - { - var rsa = RSA.Create(); - rsa.ImportFromPem(pem); - return rsa; - } - - private static string CreatePath(string filename, string? directory = null) - { - directory ??= Environment.CurrentDirectory; - - if (!Directory.Exists(directory)) - { - Directory.CreateDirectory(directory); - } - - return Path.Combine(directory, $"{filename}.pem"); - } - - private static readonly ConcurrentDictionary FileLocks = new(); - - public static void SavePem(this IRSACryptographer decryptor, string key, string? directory = null) - { - var filePath = CreatePath(filename: key, directory : directory); - var fileLock = FileLocks.GetOrAdd(filePath, _ => new (1, 1)); - fileLock.Wait(); - try - { - File.WriteAllText(filePath, decryptor.Pem); - } - finally - { - fileLock.Release(); - } - } - - public static async Task SavePemAsync(this IRSACryptographer decryptor, string key, string? directory = null) - { - var filePath = CreatePath(filename: key, directory: directory); - var fileLock = FileLocks.GetOrAdd(filePath, _ => new (1, 1)); - await fileLock.WaitAsync(); - try - { - await File.WriteAllTextAsync(filePath, decryptor.Pem); - } - finally - { - fileLock.Release(); - } - } - } -} \ No newline at end of file diff --git a/DigitalData.Core.Security/Cryptographer/RSADecryptor.cs b/DigitalData.Core.Security/Cryptographer/RSADecryptor.cs index 6039926..0eede5d 100644 --- a/DigitalData.Core.Security/Cryptographer/RSADecryptor.cs +++ b/DigitalData.Core.Security/Cryptographer/RSADecryptor.cs @@ -1,5 +1,5 @@ using DigitalData.Core.Abstractions.Security; -using DigitalData.Core.Security.Extensions; +using DigitalData.Core.Extensions; using System.Security.Cryptography; namespace DigitalData.Core.Security.Cryptographer diff --git a/DigitalData.Core.Security/Cryptographer/RSAEncryptor.cs b/DigitalData.Core.Security/Cryptographer/RSAEncryptor.cs index 3a40325..02e79c3 100644 --- a/DigitalData.Core.Security/Cryptographer/RSAEncryptor.cs +++ b/DigitalData.Core.Security/Cryptographer/RSAEncryptor.cs @@ -1,5 +1,5 @@ using DigitalData.Core.Abstractions.Security; -using DigitalData.Core.Security.Extensions; +using DigitalData.Core.Extensions; namespace DigitalData.Core.Security.Cryptographer { diff --git a/DigitalData.Core.Security/DigitalData.Core.Security.csproj b/DigitalData.Core.Security/DigitalData.Core.Security.csproj index c198a40..272db27 100644 --- a/DigitalData.Core.Security/DigitalData.Core.Security.csproj +++ b/DigitalData.Core.Security/DigitalData.Core.Security.csproj @@ -12,7 +12,7 @@ - + diff --git a/DigitalData.Core.sln b/DigitalData.Core.sln index 9191c29..f7492d3 100644 --- a/DigitalData.Core.sln +++ b/DigitalData.Core.sln @@ -23,9 +23,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.Core.Legacy.Cli EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.Core.Security", "DigitalData.Core.Security\DigitalData.Core.Security.csproj", "{47D80C65-74A2-4EB8-96A5-D571A9108FB3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.Core.Security.Extensions", "DigitalData.Core.Security.Extensions\DigitalData.Core.Security.Extensions.csproj", "{D740182D-82DA-480A-9F87-BFB4A8620A00}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.Core.Terminal", "DigitalData.Core.Terminal\DigitalData.Core.Terminal.csproj", "{0FA93730-8084-4907-B172-87D610323796}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.Core.Terminal", "DigitalData.Core.Terminal\DigitalData.Core.Terminal.csproj", "{0FA93730-8084-4907-B172-87D610323796}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.Core.Extensions", "DigitalData.Core.Extensions\DigitalData.Core.Extensions.csproj", "{FC6AD1C4-5D7C-4B50-9330-B7A0E52B24B8}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -72,14 +72,14 @@ Global {47D80C65-74A2-4EB8-96A5-D571A9108FB3}.Debug|Any CPU.Build.0 = Debug|Any CPU {47D80C65-74A2-4EB8-96A5-D571A9108FB3}.Release|Any CPU.ActiveCfg = Release|Any CPU {47D80C65-74A2-4EB8-96A5-D571A9108FB3}.Release|Any CPU.Build.0 = Release|Any CPU - {D740182D-82DA-480A-9F87-BFB4A8620A00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D740182D-82DA-480A-9F87-BFB4A8620A00}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D740182D-82DA-480A-9F87-BFB4A8620A00}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D740182D-82DA-480A-9F87-BFB4A8620A00}.Release|Any CPU.Build.0 = Release|Any CPU {0FA93730-8084-4907-B172-87D610323796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0FA93730-8084-4907-B172-87D610323796}.Debug|Any CPU.Build.0 = Debug|Any CPU {0FA93730-8084-4907-B172-87D610323796}.Release|Any CPU.ActiveCfg = Release|Any CPU {0FA93730-8084-4907-B172-87D610323796}.Release|Any CPU.Build.0 = Release|Any CPU + {FC6AD1C4-5D7C-4B50-9330-B7A0E52B24B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC6AD1C4-5D7C-4B50-9330-B7A0E52B24B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC6AD1C4-5D7C-4B50-9330-B7A0E52B24B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC6AD1C4-5D7C-4B50-9330-B7A0E52B24B8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE