WinHttpHandler.ServerCertificateValidationCallback Propriedade

Definição

Obtém ou define um método de retorno de chamada para validar o certificado do servidor. Esse retorno de chamada faz parte do 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)

Valor da propriedade

O retorno de chamada deverá ser retornado true se o certificado do servidor for considerado válido e a solicitação for enviada. Caso contrário, retorna false.

Exemplos

O exemplo de código a seguir implementa o retorno de chamada. Se houver erros de validação, esse método retornará false impedindo a comunicação com o servidor não autenticado. Caso contrário, ele permitirá a validação adicional e retornará true se o certificado for válido.

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

Comentários

O valor padrão é null. Se essa propriedade for null, o certificado do servidor será validado usando autoridades de certificação conhecidas padrão.

O argumento do delegado contém todos os erros de sslPolicyErrors certificado retornados pelo SSPI durante a autenticação do servidor. O Boolean valor retornado por esse delegado determina se a autenticação tem permissão para ser bem-sucedida.

Aplica-se a