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(); };
[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; }
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")>]
static member DangerousAcceptAnyServerCertificateValidator : Func<System.Net.Http.HttpRequestMessage, System.Security.Cryptography.X509Certificates.X509Certificate2, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors, bool>
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.
В качестве побочных преимуществ разработчики могут использовать это свойство, чтобы упростить для средств пометить опасность отключения проверки сертификатов, что упрощает для разработчиков, чтобы избежать доставки небезопасных приложений.