SmtpClient.ClientCertificates Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifique quais certificados devem ser usados para estabelecer a conexão SSL (Secure Sockets Layer).
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 da propriedade
Um X509CertificateCollection, segurando um ou mais certificados de cliente. O valor padrão é derivado dos atributos de configuração de email em um arquivo de configuração.
Exemplos
O exemplo de código a seguir estabelece uma conexão SSL com o servidor SMTP e usa a conexão para enviar um email.
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);
}
Comentários
Os certificados do cliente são, por padrão, opcionais; no entanto, a configuração do servidor pode exigir que o cliente apresente um certificado válido como parte da negociação de conexão inicial.
Modificar essa coleção não invalida uma conexão SMTP em cache existente ou dispara um novo handshake do TLS. Se uma conexão for reutilizado, ela continuará a usar o contexto de segurança estabelecido quando foi criada. Para usar um contexto de segurança ou identidade diferente, descarte e SmtpClient crie uma nova instância. Ou, para forçar uma nova conexão e handshake, altere uma propriedade que invalide a conexão armazenada em cache.
Note
O Framework armazena em cache sessões SSL à medida que são criadas e tenta reutilizar uma sessão armazenada em cache para uma nova solicitação, se possível. Ao tentar reutilizar uma sessão SSL, o Framework usa o primeiro elemento de ClientCertificates (se houver um) ou tenta reutilizar uma sessão anônima se ClientCertificates estiver vazio.