namespace ZB.MOM.WW.LmxProxy.Client;
///
/// TLS configuration for LmxProxy client connections
///
public class ClientTlsConfiguration
{
///
/// Gets or sets whether to use TLS for the connection
///
public bool UseTls { get; set; } = false;
///
/// Gets or sets the path to the client certificate file (optional for mutual TLS)
///
public string? ClientCertificatePath { get; set; }
///
/// Gets or sets the path to the client private key file (optional for mutual TLS)
///
public string? ClientKeyPath { get; set; }
///
/// Gets or sets the path to the CA certificate for server validation (optional)
///
public string? ServerCaCertificatePath { get; set; }
///
/// Gets or sets the server name override for certificate validation (optional)
///
public string? ServerNameOverride { get; set; }
///
/// Gets or sets whether to validate the server certificate
///
public bool ValidateServerCertificate { get; set; } = true;
///
/// Gets or sets whether to allow self-signed certificates (for testing only)
///
public bool AllowSelfSignedCertificates { get; set; } = false;
///
/// Gets or sets whether to ignore all certificate errors (DANGEROUS - for testing only)
/// WARNING: This completely disables certificate validation and should never be used in production
///
public bool IgnoreAllCertificateErrors { get; set; } = false;
}