HttpBaseProtocolFilter.ServerCustomValidationRequested Событие

Определение

Это событие возникает при установке соединения SSL/TLS с сервером. Следует реализовать обработчик событий для этого события, если необходимо выполнить дополнительную проверку (в дополнение к стандарту ОС) SSL-сертификата сервера.

// Register
event_token ServerCustomValidationRequested(TypedEventHandler<HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs const&> const& handler) const;

// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;

// Revoke with event_revoker
HttpBaseProtocolFilter::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<HttpBaseProtocolFilter,HttpServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
httpBaseProtocolFilter.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
httpBaseProtocolFilter.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
httpBaseProtocolFilter.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs) 

Тип события

Требования к Windows

Семейство устройств
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v3.0)

Комментарии

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

Чтобы пропустить части проверки ОС (не рекомендуется для рабочих сценариев), используйте свойство IgnorableServerCertificateErrors , чтобы указать ошибки, которые необходимо игнорировать. Если в сертификате нет других ошибок, проверка ОС будет считаться успешной и будет вызван обработчик событий.

Код обработчика событий выполняется в рамках синхронного обратного вызова в ОПЕРАЦИОННОй системе во время установки ssl/TLS-подключения. Избегайте выполнения длительных задач в коде обработчика событий, чтобы предотвратить время ожидания сервера во время подключения.

Если необходимо вызвать асинхронные API в коде обработчика событий, необходимо выполнить отсрочку (см. httpServerCustomValidationArgs.GetDeferral) перед вызовом асинхронных API. Завершив, вызовите отсрочку. Метод Complete для возврата управления из кода обработчика.

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

HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
	var cert = args.ServerCertificate
	// Your custom cert validation code here.
}

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