WinHttpHandler.ServerCertificateValidationCallback 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.
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.