WinHttpHandler.ServerCertificateValidationCallback Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví metodu zpětného volání k ověření certifikátu serveru. Toto zpětné volání je součástí metody handshake PROTOKOLU 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)
Hodnota vlastnosti
Zpětné volání by se mělo vrátit true , pokud je certifikát serveru považován za platný a požadavek by se měl odeslat. V opačném případě vrátí hodnotu false.
Příklady
Následující příklad kódu implementuje zpětné volání. Pokud dojde k chybám ověření, tato metoda vrátí false zabránění komunikaci s neověřeným serverem. V opačném případě umožňuje další ověření a vrátit true se, pokud je certifikát platný.
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;
};
Poznámky
Výchozí hodnota je null. Pokud je nulltato vlastnost, certifikát serveru se ověří pomocí standardních známých certifikačních autorit.
Argument delegáta sslPolicyErrors obsahuje všechny chyby certifikátu vrácené SSPI při ověřování serveru. Hodnota Boolean vrácená tímto delegátem určuje, zda je povoleno úspěšné ověření.