MessageWebSocket.ServerCustomValidationRequested Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando se está validando una nueva conexión de MessageWebSocket a un URI de servidor protegido (wss: protocolo). Controle este evento si desea implementar la validación del servidor personalizado para la conexión.
// Register
event_token ServerCustomValidationRequested(TypedEventHandler<MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;
// Revoke with event_revoker
MessageWebSocket::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<MessageWebSocket,WebSocketServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
messageWebSocket.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
messageWebSocket.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
messageWebSocket.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs)
Tipo de evento
Requisitos de Windows
Familia de dispositivos |
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)
|
Comentarios
Tenga en cuenta que este evento se genera después de que la validación predeterminada del sistema operativo se haya realizado correctamente y que la validación predeterminada del sistema operativo incluya tener en cuenta la opción de control IgnorableServerCertificateErrors .
Use las propiedades WebSocketServerCustomValidationRequestedEventArgs para tener acceso al certificado de servidor y a los certificados intermedios que se ofrecen para la validación.
Para garantizar la finalización correcta, si el proceso de validación personalizada implica operaciones asincrónicas, asegúrese de usar el método WebSocketServerCustomValidationRequestedEventArgs.GetDeferral para obtener un objeto de aplazamiento que el controlador de eventos contiene durante la operación de validación. Una vez completada la validación, debe llamar a Deferral.Complete tanto si acepta como rechaza la validación.
Como ejemplo del tipo de validación que puede realizar en este controlador de eventos: puede comparar el certificado de servidor con un certificado de confianza almacenado localmente que coincida con el certificado de servidor esperado. En el controlador de eventos, compararía el hash SHA-256 del certificado local con el hash del certificado de servidor. Si los valores hash coinciden, se supone que los certificados coinciden y la validación del servidor debe realizarse correctamente. Si los valores hash no coinciden, los certificados no coinciden y se producirá un error en la validación.
Para indicar un error de validación, llame al método WebSocketServerCustomValidationRequestedEventArgs.Reject . Para indicar que la validación se ha realizado correctamente, basta con volver del controlador de eventos.
Tenga en cuenta que si la validación se realiza correctamente o no, debe llamar a Deferral.Complete en el objeto de aplazamiento que adquirió al iniciar el proceso de validación.