feat(RSAFactory): Unterstützung für die Erstellung von RSA-Decryptors hinzugefügt

- Methode `CreateDecryptor` hinzugefügt, um die Erstellung von `IRSADecryptor`-Instanzen zu vereinfachen.
- Stellt sicher, dass Decryptors mit PEM, Aussteller, Empfänger, Verschlüsselungsstatus und Padding-Einstellungen initialisiert werden.
- Bestehende Funktionalität zur Erstellung privater und verschlüsselter privater Schlüssel beibehalten.
- Die RSA-Factory verbessert, um Workflows zur Entschlüsselung besser zu unterstützen.
This commit is contained in:
Developer 02 2024-12-16 10:37:56 +01:00
parent c6a4038eab
commit e0a6787a87
2 changed files with 11 additions and 0 deletions

View File

@ -17,6 +17,8 @@ namespace DigitalData.Core.Abstractions.Security
PbeParameters pbeParameters,
int? keySizeInBits = null,
string? password = null);
IRSADecryptor CreateDecryptor(string pem, string? issuer = null, string? audience = null, bool isEncrypted = false, RSAEncryptionPadding? padding = null);
}
public interface IRSAFactory<TParams> : IRSAFactory { }

View File

@ -51,5 +51,14 @@ namespace DigitalData.Core.Security.Cryptographer
return new string(pemChars);
}
public IRSADecryptor CreateDecryptor(string pem, string? issuer = null, string? audience = null, bool isEncrypted = false, RSAEncryptionPadding? padding = null) => new RSADecryptor()
{
Pem = pem,
Issuer = issuer ?? string.Empty,
Audience = audience ?? string.Empty,
IsEncrypted = isEncrypted,
Padding = padding ?? RSAEncryptionPadding.OaepSHA256
};
}
}