WinHttpHandler.ServerCertificateValidationCallback プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サーバー証明書を検証するコールバック メソッドを取得または設定します。 このコールバックは、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)
プロパティ値
サーバー証明書が有効と見なされ、要求を送信する必要がある場合、コールバックは true を返す必要があります。 それ以外の場合、false を返します。
例
次のコード例では、コールバックを実装します。 検証エラーが発生した場合、このメソッドは認証されていないサーバーとの通信を妨げる false を返します。 それ以外の場合は、追加の検証が可能になり、証明書が有効な場合は true が返されます。
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;
};
注釈
既定値は null です。 このプロパティが null場合、サーバー証明書は、標準的な既知の証明機関を使用して検証されます。
デリゲートの sslPolicyErrors 引数には、サーバーの認証中に SSPI によって返された証明書エラーが含まれます。 このデリゲートによって返される Boolean 値によって、認証が成功できるかどうかが決まります。