using System.ComponentModel.DataAnnotations;
namespace StellaOps.Cryptography.Plugin.OpenSslGost;
public sealed class OpenSslGostKeyOptions
{
[Required]
public string KeyId { get; set; } = string.Empty;
[Required]
public string Algorithm { get; set; } = SignatureAlgorithms.GostR3410_2012_256;
[Required]
public string PrivateKeyPath { get; set; } = string.Empty;
///
/// Optional environment variable containing the passphrase for the private key PEM (avoids inline secrets).
///
public string? PrivateKeyPassphraseEnvVar { get; set; }
///
/// Optional certificate (PEM/DER/PFX) to populate JWK x5c entries.
///
public string? CertificatePath { get; set; }
public string? CertificatePasswordEnvVar { get; set; }
public GostSignatureFormat SignatureFormat { get; set; } = GostSignatureFormat.Der;
}