Поделиться через


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.

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

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