WinHttpHandler.ServerCertificateValidationCallback Proprietà

Definizione

Ottiene o imposta un metodo di callback per convalidare il certificato del server. Questo callback fa parte dell'handshake SSL.

public:
 property Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ ServerCertificateValidationCallback { Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ get(); void set(Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ value); };
public Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool>? ServerCertificateValidationCallback { get; set; }
public Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool> ServerCertificateValidationCallback { get; set; }
member this.ServerCertificateValidationCallback : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool> with get, set
Public Property ServerCertificateValidationCallback As Func(Of HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, Boolean)

Valore della proprietà

Il callback deve restituire true se il certificato del server è considerato valido e la richiesta deve essere inviata. In caso contrario, restituisce false.

Esempio

Nell'esempio di codice seguente viene implementato il callback. In caso di errori di convalida, questo metodo restituisce false la prevenzione della comunicazione con il server non autenticato. In caso contrario, consente la convalida aggiuntiva e restituisce true se il certificato è valido.

var handler = new WinHttpHandler();
handler.ServerCertificateValidationCallback = (httpRequestMessage, certificate, chain, sslPolicyErrors) =>
{
    if (sslPolicyErrors == SslPolicyErrors.None)
    {
        // TODO: Implement additional custom certificate validation logic here.
        return true;
    }
    // Do not allow this client to communicate with unauthenticated servers.
    return false;
};

Commenti

Il valore predefinito è null. Se questa proprietà è null, il certificato del server viene convalidato usando le autorità di certificazione note standard.

L'argomento del sslPolicyErrors delegato contiene eventuali errori di certificato restituiti da SSPI durante l'autenticazione del server. Il Boolean valore restituito da questo delegato determina se l'autenticazione può avere esito positivo.

Si applica a