using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using System.Security.Cryptography.X509Certificates; using System.Security; namespace Intel.WebStorage { /// /// Verifies the remote server certificate used for authentication. /// /// The certificate used to authenticate /// One or more errors associated with the remote certificate. /// bool, determines whether the specified certificate is accepted for authentication. public delegate bool ServerCertificateValidationCallback(X509Certificate certificate, System.Net.Security.SslPolicyErrors errors); /// /// Represents various options for a Wsman connection /// [InterfaceType(ComInterfaceType.InterfaceIsDual)] [Guid("58A73241-12B8-4d6d-BA33-F8492A085E24")] [ComVisible(true)] public interface IWebStorageConnectionOptions { /// /// Gets or sets the amount of time in milliseconds connection will /// wait for responses from the server /// int TimeOut { get; set; } /// /// Gets or sets the proxy Address /// string ProxyAddress { get; set; } /// /// Gets or sets the proxy user name /// string ProxyUser { get; set; } /// /// Gets or sets the proxy password /// SecureString ProxyPassword { get; set; } /// /// Gets or sets the client certificate for mutual authentication from the Windows Certificate Store /// string ClientCertificateCommonName { get; set; } /// /// The certificate to use for establishing the connection. /// To set this property by providing a certificate name string only, use the ClientCertificateCommonName property. /// X509Certificate2 ClientCertificate { get; set; } /// /// Gets or sets the callback for custom validation by the client of the server certificate. /// ServerCertificateValidationCallback ServerCertificateValidationCallback { get; set; } } // interface }// end namespace