Condividi tramite


MessageWebSocket.ServerCustomValidationRequested Evento

Definizione

Si verifica quando viene convalidata una nuova connessione MessageWebSocket a un URI del server protetto (wss: protocollo). Gestire questo evento se si vuole implementare la convalida del server personalizzata per la connessione.

// 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 evento

Requisiti Windows

Famiglia di dispositivi
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)

Commenti

Si noti che questo evento viene generato dopo che la convalida predefinita del sistema operativo è stata eseguita correttamente e che la convalida predefinita del sistema operativo include l'impostazione dell'opzione di controllo IgnorableServerCertificateErrors in considerazione.

Usare le proprietà WebSocketServerCustomValidationRequestedEventArgs per accedere al certificato del server e ai certificati intermedi offerti per la convalida.

Per garantire il corretto completamento, se il processo di convalida personalizzato prevede operazioni asincrone, assicurarsi di usare il metodo WebSocketServerCustomValidationRequestedEventArgs.GetDeferral per ottenere un oggetto differimento che il gestore eventi contiene per la durata dell'operazione di convalida. Al termine della convalida, è necessario chiamare Deferral.Complete se si accetta o rifiuta la convalida.

Come esempio del tipo di convalida che è possibile eseguire in questo gestore eventi: è possibile confrontare il certificato del server con un certificato attendibile archiviato localmente che corrisponde al certificato del server previsto. Nel gestore eventi confrontare l'hash SHA-256 del certificato locale con l'hash del certificato server. Se i valori hash corrispondono, si presuppone che i certificati corrispondano e che la convalida del server abbia esito positivo. Se i valori hash non corrispondono, i certificati non corrispondono e la convalida avrà esito negativo.

Per indicare un errore di convalida, chiamare il metodo WebSocketServerCustomValidationRequestedEventArgs.Reject . Per indicare l'esito positivo della convalida, è sufficiente restituire dal gestore eventi.

Si noti che se la convalida ha esito positivo o negativo, è necessario chiamare Deferral.Complete sull'oggetto differire acquisito al momento dell'avvio del processo di convalida.

Si applica a