- Die Pem-Eigenschaft wurde aktualisiert, um eine Validierung hinzuzufügen, die eine InvalidOperationException auslöst, falls sie vor der Initialisierung aufgerufen wird. - Nicht verwendeten Import System.Text.Json.Serialization entfernt. - Fehlermeldungen wurden erweitert, um Issuer und Audience für eine bessere Debugging-Kontextbereitschaft einzuschließen.
20 lines
638 B
C#
20 lines
638 B
C#
using DigitalData.Core.Abstractions.Security;
|
|
using DigitalData.Core.Security.Extensions;
|
|
|
|
namespace DigitalData.Core.Security.Cryptographer
|
|
{
|
|
public class RSAEncryptor : RSACryptographer, IRSAEncryptor, IRSACryptographer
|
|
{
|
|
public byte[] Encrypt(byte[] data) => RSA.Encrypt(data, Padding);
|
|
|
|
public string Encrypt(string data) => RSA.Encrypt(data.Base64ToByte(), Padding).BytesToString();
|
|
|
|
public bool Verify(string data, string signature) => Encrypt(data) == signature;
|
|
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
RSA.ImportFromPem(base.Pem);
|
|
}
|
|
}
|
|
} |