Compartir a través de


MessageWebSocket.ServerCustomValidationRequested Evento

Definición

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.

Se aplica a