using System.Security.Cryptography.X509Certificates;
namespace KillerPDF.Services.Signing
{
///
/// A source of a signing certificate (with its private key). Kept as an interface so the only
/// Windows-only piece is the certificate-store provider; .pfx files (and, later, OS keychains)
/// keep the rest of the signing module portable for the planned Linux/Mac port.
///
internal interface ICertificateProvider
{
/// Human-readable label for the UI (file name, or the cert's subject).
string DisplayName { get; }
///
/// Returns the certificate (must have a usable private key). Throws on failure - a wrong
/// .pfx password, a missing private key, an unreadable file, etc.
///
X509Certificate2 GetCertificate();
}
}