MessageWebSocket.ServerCustomValidationRequested Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.