23 lines
847 B
C#
23 lines
847 B
C#
using System.Security.Cryptography;
|
|
using DigitalData.Core.Abstractions.Security.Key;
|
|
|
|
namespace DigitalData.Core.Abstractions.Security.Services;
|
|
|
|
public interface IAsymmetricKeyFactory
|
|
{
|
|
string CreatePrivateKeyPem(int? keySizeInBits = null, bool encrypt = false);
|
|
|
|
string CreateEncryptedPrivateKeyPem(
|
|
PbeEncryptionAlgorithm? pbeEncryptionAlgorithm = null,
|
|
HashAlgorithmName? hashAlgorithmName = null,
|
|
int? iterationCount = null,
|
|
int? keySizeInBits = null,
|
|
string? password = null);
|
|
|
|
string CreateEncryptedPrivateKeyPem(
|
|
PbeParameters pbeParameters,
|
|
int? keySizeInBits = null,
|
|
string? password = null);
|
|
|
|
IAsymmetricDecryptor CreateDecryptor(string pem, string? issuer = null, string? audience = null, bool encrypt = false, RSAEncryptionPadding? padding = null);
|
|
} |