StreamWebSocket.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 valida una nueva conexión de StreamWebSocket a un URI de servidor protegido (wss: protocolo). Controle este evento si desea implementar la validación de servidor personalizada para la conexión.
// 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)
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 acceder 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 personalizado 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 si acepta o rechaza la validación.
Como ejemplo del tipo de validación que puede realizar en este controlador de eventos: podría 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 debe 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, simplemente vuelva 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.