Compartir a través de


StreamWebSocket.ServerCustomValidationRequested Evento

Definición

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.

Se aplica a