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