SmtpClient.ClientCertificates Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifique qué certificados se deben usar para establecer la conexión capa de sockets seguros (SSL).
public:
property System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ ClientCertificates { System::Security::Cryptography::X509Certificates::X509CertificateCollection ^ get(); };
public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; }
member this.ClientCertificates : System.Security.Cryptography.X509Certificates.X509CertificateCollection
Public ReadOnly Property ClientCertificates As X509CertificateCollection
Valor de propiedad
, X509CertificateCollectionque contiene uno o varios certificados de cliente. El valor predeterminado se deriva de los atributos de configuración de correo en un archivo de configuración.
Ejemplos
En el ejemplo de código siguiente se establece una conexión SSL con el servidor SMTP y se usa la conexión para enviar un correo electrónico.
public static void CreateTestMessage(string server)
{
string to = "jane@contoso.com";
string from = "ben@contoso.com";
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the new SMTP client.";
message.Body = @"Using this new feature, you can send an email message from an application very easily.";
SmtpClient client = new SmtpClient(server);
// Credentials are necessary if the server requires the client
// to authenticate before it will send email on the client's behalf.
client.UseDefaultCredentials = true;
client.EnableSsl = true;
client.Send(message);
}
Comentarios
Los certificados de cliente son, de forma predeterminada, opcionales; sin embargo, la configuración del servidor podría requerir que el cliente presente un certificado válido como parte de la negociación de conexión inicial.
La modificación de esta colección no invalida una conexión SMTP almacenada en caché existente ni desencadena un nuevo protocolo de enlace TLS. Si se reutiliza una conexión, sigue usando el contexto de seguridad establecido cuando se creó. Para usar otro contexto de SmtpClient seguridad o identidad, elimine y cree una nueva instancia. O bien, para forzar una nueva conexión y un protocolo de enlace, cambie una propiedad que invalide la conexión almacenada en caché.
Note
Framework almacena en caché las sesiones SSL a medida que se crean e intentan reutilizar una sesión almacenada en caché para una nueva solicitud, si es posible. Al intentar reutilizar una sesión SSL, framework usa el primer elemento de ClientCertificates (si hay uno) o intenta reutilizar una sesión anónima si ClientCertificates está vacía.