Lingua

SmtpClient.ClientCertificates Proprietà

Definizione

Specificare i certificati da usare per stabilire la connessione 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

Valore della proprietà

Oggetto X509CertificateCollection, che contiene uno o più certificati client. Il valore predefinito è derivato dagli attributi di configurazione della posta elettronica in un file di configurazione.

Esempio

Nell'esempio di codice seguente viene stabilita una connessione SSL con il server SMTP e viene utilizzata la connessione per inviare un messaggio di posta elettronica.

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);
}

Commenti

I certificati client sono, per impostazione predefinita, facoltativi; Tuttavia, la configurazione del server potrebbe richiedere che il client presenti un certificato valido come parte della negoziazione della connessione iniziale.

La modifica di questa raccolta non invalida una connessione SMTP memorizzata nella cache esistente o attiva un nuovo handshake TLS. Se una connessione viene riutilizzata, continua a usare il contesto di sicurezza stabilito al momento della creazione. Per usare un contesto di sicurezza o identità diverso, eliminare SmtpClient e creare una nuova istanza. In alternativa, per forzare una nuova connessione e un handshake, modificare una proprietà che invalida la connessione memorizzata nella cache.

Note

Framework memorizza nella cache le sessioni SSL durante la creazione e tenta di riutilizzare una sessione memorizzata nella cache per una nuova richiesta, se possibile. Quando si tenta di riutilizzare una sessione SSL, il framework usa il primo elemento di ClientCertificates (se presente) o tenta di riutilizzare una sessione anonima se ClientCertificates è vuoto.

Si applica a

Vedi anche