HttpClientHandler.DangerousAcceptAnyServerCertificateValidator Свойство

Определение

Получает кэшированный делегат, который всегда возвращает true.

public:
 static property Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ DangerousAcceptAnyServerCertificateValidator { Func<System::Net::Http::HttpRequestMessage ^, System::Security::Cryptography::X509Certificates::X509Certificate2 ^, System::Security::Cryptography::X509Certificates::X509Chain ^, System::Net::Security::SslPolicyErrors, bool> ^ get(); };
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2?,System.Security.Cryptography.X509Certificates.X509Chain?,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2?,System.Security.Cryptography.X509Certificates.X509Chain?,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
public static Func<System.Net.Http.HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,bool> DangerousAcceptAnyServerCertificateValidator { get; }
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
Public Shared ReadOnly Property DangerousAcceptAnyServerCertificateValidator As Func(Of HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, Boolean)

Значение свойства

Кэшированный делегат, который всегда возвращает true.

Атрибуты

Комментарии

В частности, в сценариях тестирования используется распространенный шаблон для HttpClient подключения к серверу с сертификатом, который не должен быть проверен, например самозаверяющий сертификат. Обычно это можно сделать с HttpClientHandler помощью, задав ServerCertificateCustomValidationCallback для свойства делегат, который всегда возвращает Trueзначение ; это означает, что сертификат прошел проверку. Однако не все реализации поддерживают этот обратный вызов, и некоторые из этих реализаций вызывают исключение PlatformNotSupportedException.

Свойство DangerousAcceptAnyServerCertificateValidator устраняет это ограничение. Делегат, возвращаемый свойством DangerousAcceptAnyServerCertificateValidator , может быть назначен свойству ServerCertificateCustomValidationCallback , как показано в следующем примере:

handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

Это дает HttpClientHandler реализации известное удостоверение ссылки на объект, которое выражает намерение разработчика. Если объект, хранящийся в свойстве ServerCertificateCustomValidationCallback , равен ссылке DangerousAcceptAnyServerCertificateValidator, среда выполнения может полностью отключить проверку на платформе, которая в противном случае вызовет PlatformNotSupportedExceptionисключение .

В качестве сторонного преимущества разработчики могут использовать это свойство, чтобы средства могли пометить опасность отключения проверки сертификатов, что упрощает разработчикам избежать отправки небезопасных приложений.

Применяется к