- `AsymmetricPublicKey` in `ClientPublicKey` umbenannt - `ClientPublicKey` von `RSAKeyBase` abgeleitet für RSA-Funktionalität - Dynamischen PEM-Import in `UpdateContent` hinzugefügt
35 lines
796 B
C#
35 lines
796 B
C#
using DigitalData.Core.Abstractions.Security;
|
|
using DigitalData.Core.Security.RSAKey;
|
|
|
|
namespace DigitalData.Auth.Client;
|
|
|
|
/// <summary>
|
|
/// Represents a public RSA key, allowing dynamic updates and PEM import functionality.
|
|
/// </summary>
|
|
public class ClientPublicKey : RSAKeyBase, IAsymmetricPublicKey, IAsymmetricKey, IUniqueSecurityContext
|
|
{
|
|
public required string Issuer { get; init; }
|
|
|
|
public required string Audience { get; init; }
|
|
|
|
private string _content = string.Empty;
|
|
|
|
public override string Content
|
|
{
|
|
get
|
|
{
|
|
return _content;
|
|
}
|
|
init
|
|
{
|
|
UpdateContent(value);
|
|
}
|
|
}
|
|
|
|
public void UpdateContent(string content)
|
|
{
|
|
_content = content;
|
|
RSA.ImportFromPem(content);
|
|
}
|
|
}
|