StreamWebSocket.ServerCustomValidationRequested Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при проверке нового подключения StreamWebSocket к защищенному URI сервера (wss: protocol). Обработайте это событие, если вы хотите реализовать настраиваемую проверку сервера для подключения.
// Register
event_token ServerCustomValidationRequested(TypedEventHandler<StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;
// Revoke with event_revoker
StreamWebSocket::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<StreamWebSocket,WebSocketServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
streamWebSocket.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
streamWebSocket.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
streamWebSocket.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs)
Тип события
Требования к Windows
Семейство устройств |
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v3.0)
|
Комментарии
Обратите внимание, что это событие возникает после успешной проверки ОС по умолчанию и что проверка ОС по умолчанию включает в себя учет параметра элемента управления IgnorableServerCertificateErrors .
Используйте свойства WebSocketServerCustomValidationRequestedEventArgs для доступа к сертификату сервера и промежуточным сертификатам, предлагаемым для проверки.
Чтобы обеспечить правильное завершение, если настраиваемый процесс проверки включает какие-либо асинхронные операции, обязательно используйте метод WebSocketServerCustomValidationRequestedEventArgs.GetDeferral , чтобы получить объект отсрочки, который хранится обработчиком событий на протяжении всего периода выполнения операции проверки. После завершения проверки необходимо вызвать Deferral.Complete независимо от того, принимаете ли вы или отклоняете проверку.
В качестве примера проверки, которую можно выполнить в этом обработчике событий, можно сравнить сертификат сервера с локально хранящимся доверенным сертификатом, который соответствует ожидаемому сертификату сервера. В обработчике событий можно сравнить хэш SHA-256 локального сертификата с хэшом сертификата сервера. Если хэш-значения совпадают, предполагается, что сертификаты совпадают, и проверка сервера должна быть успешной. Если хэш-значения не совпадают, сертификаты не совпадают, и проверка должна завершиться ошибкой.
Чтобы указать на сбой проверки, вызовите метод WebSocketServerCustomValidationRequestedEventArgs.Reject . Чтобы указать на успешность проверки, просто вернитесь из обработчика событий.
Обратите внимание, что независимо от успешной или неудачной проверки необходимо вызвать Deferral.Complete для объекта deferral, полученного при запуске процесса проверки.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по